extjs6.2 中store.add出现错误 Cannot read property 'internalId' of null

时间:2022-02-18 18:39:03
store是这样的
Ext.define('permissionStore', {
    extend: 'Ext.data.TreeStore',
    defaultRootId: null,
    model: 'permissionModel',
    proxy: {
        type: 'ajax',
        actionMethods: { read: 'post' }
    }

});


使用是这样的:
 var fstore = new permissionStore();
 fstore.proxy.url = '/frame/ListAllPermission';
 fstore.load();


表单提交后返回刚添加的记录,想将这个记录加进store中,以便界面上更新,代码是这样的:
 var r = form.getRecord();
                                var v = form.getValues();
                                if (v.Id && v.Id != '') {
                                    r.set(v);
                                } else {
                                    r = Ext.create('permissionModel');
                                    r.set(v);
                                    r.setId(data.id);

                                    console.log(r);
                                    fstore.add([r]);
                                }


结果在   fstore.add([r]); 这行出现错误: Uncaught TypeError: Cannot read property 'internalId' of null
查了很久网络,和extjs的api文档,一直没法解决,寻求帮助

3 个解决方案

#1


fstore时treestore还是store,这个2个有区别的,store的话你的permissionStore model继承错对象了

Web开发学习资料推荐
jquery全年日期选择器日历插件
jqGrid导航Navigator配置

#2


引用 1 楼 showbo 的回复:
fstore时treestore还是store,这个2个有区别的,store的话你的permissionStore model继承错对象了

Web开发学习资料推荐
jquery全年日期选择器日历插件
jqGrid导航Navigator配置


这个是做权限管理的,fstore是treestore,model是treemodel

#3


原来得用appendChild

#1


fstore时treestore还是store,这个2个有区别的,store的话你的permissionStore model继承错对象了

Web开发学习资料推荐
jquery全年日期选择器日历插件
jqGrid导航Navigator配置

#2


引用 1 楼 showbo 的回复:
fstore时treestore还是store,这个2个有区别的,store的话你的permissionStore model继承错对象了

Web开发学习资料推荐
jquery全年日期选择器日历插件
jqGrid导航Navigator配置


这个是做权限管理的,fstore是treestore,model是treemodel

#3


原来得用appendChild