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配置
Web开发学习资料推荐
jquery全年日期选择器日历插件
jqGrid导航Navigator配置
#2
这个是做权限管理的,fstore是treestore,model是treemodel
#3
原来得用appendChild
#1
fstore时treestore还是store,这个2个有区别的,store的话你的permissionStore model继承错对象了
Web开发学习资料推荐
jquery全年日期选择器日历插件
jqGrid导航Navigator配置
Web开发学习资料推荐
jquery全年日期选择器日历插件
jqGrid导航Navigator配置
#2
这个是做权限管理的,fstore是treestore,model是treemodel
#3
原来得用appendChild