微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Extjs 6:在保存时存储传播到记录中的 extraParam

如何解决Extjs 6:在保存时存储传播到记录中的 extraParam

我正在使用 ExtJS 6.5 在工具栏中创建一个带有组合框的网格。组合框在特定视图模型中绑定了一个商店。选择选项时,通过将extraparam添加到商店代理,将在viewmodel的商店中使用BeForoad侦听器刷新(发布)。哪个工作正常。 但是,当我尝试编辑绑定到网格的一条记录时,即使在请求 (PUT) 之前,记录看起来也不错,当 record.save() 时,extraparam 将作为记录的参数发送。 代码如下所示:

items:[
    {
        xtype: 'grid',bind: {
            store: '{gridstore}'
        },tbar: [
            {
                xtype: 'comboBox',fieldLabel: false,reference: 'some_selection',width:100,bind: {
                    store: '{cat}'
                },listeners: {
                    change: 'reloadStore'
                }
            }
        ],columns: [
            {
                dataIndex: 'name',text: 'Name',align: 'left',flex: 1,minWidth: 150
            },{
                dataIndex: 'soemthing',text: 'Something',minWidth: 150
            }]}

视图模型:

stores: {
    gridstore: {
        model: 'Model',listeners: {
            beforeload: function (store){
                var category = Ext.ComponentQuery.query('[reference="some_selection"]')[0],category_value = category.value;

                store.getProxy().extraParams = {
                    category: category_value
                }
            }
        }
    },cat: {
        fields: ['cat'],data: [
            ['One'],['Two'],['Three'],['Four'],['Five']
        ]
    }

}

编辑时:

view.add({
            xtype: form_panel,modal: true,viewmodel: {
                data: {
                   
                    currentRecord: record 

                }
            }
        });

保存时:

record.save({
        success: function(response,operation) {

           console.log(response)
        }
    });

我通过删除商店加载侦听器上的 extraparam 找到了一种解决方法

load: function (store) {
                if (!store.isLoading())
                    delete store.getProxy().getExtraParams()['category'];
            }

我知道记录的存储有额外的参数,但为什么在保存记录时发送?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?