`
GaoJimmy
  • 浏览: 100866 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

Store.getById()得到Undefined

阅读更多
store.getById()要能成功得到record,需要有两个条件:
1、store的config Options中设置了id属性
2、创建record是要说明id属性
后者是时常被遗漏的要注意

引用

Record( Array data, [Object id] )
This constructor should not be used to create Record objects. Instead, use the constructor generated by create. The parameters are the same.
Parameters:
  data : Array
     An associative Array of data values keyed by the field name.
  id : Object
    (Optional) The id of the Record. This id should be unique, and is used by the Ext.data.Store object which owns the Record to index its collection of Records. If not specified an integer id is generated.



例如
Ext.BLANK_IMAGE_URL = '../resources/images/default/s.gif'; 
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
/*sequece*/
var id=0;
/**屏蔽系统右键菜单*/
Util.forbidContextMenu(); 
Ext.onReady(function(){
	var sm=new Ext.grid.CheckboxSelectionModel({});
	var cm=new Ext.grid.ColumnModel([
		sm,
		{
			header:"URL",
			sortable:true,
			dataIndex:'url',
			editor:new Ext.form.TextField({
				vtype:"url",
				allowBlank:false
			})
		},
		{	
			header:'删除',
			renderer:delRender,
			sortable:false,
			menuDisabled:true,
			dataIndex:'id'
		}
	]);
	var ds=new Ext.data.JsonStore({
		data:{data:[],number:0},
		root:'data',
		storeId:"strBlackUrl",
		id:"id",
		totalProperty: 'number',
		fields:['id','url']
	});

	var grid=new Ext.grid.EditorGridPanel({
		sm:sm,
		cm:cm,
		ds:ds,
		title:'黑名单网址列表',
		tbar:[
			'->',
			btnFactory('add'),
			'-',
			btnFactory('del'),
			'-',
			{
				text:'保存',
				cls:'x-btn-text-icon',
				icon:'../images/backup.gif',
				handler:saveHandler
			}
		]
	});

	var viewport=new Ext.Viewport({
		layout:'fit',
		id:'viewport',
		items:[
			grid
		]
	});
})
BlackUrl=Ext.data.Record.create([
	{name:"url",mapping:"url"},
	{name:"id",mapping:"id",id:true}
]);
function addHandler()
{
	var record=new BlackUrl({url:"http://www.test.com",id:id},id);
	id++;
	Ext.StoreMgr.lookup("strBlackUrl").add(record);
}
function delHandler(id)
{
	var store=Ext.StoreMgr.lookup("strBlackUrl");
	var record=store.getById(id);
	store.remove(record);
}
function saveHandler()
{
	
}


若没有提供第二个可选参数var record=new BlackUrl({url:"http://www.test.com",id:id},id);
函数delHandler(id)中的store。getById()就会报错
0
0
分享到:
评论

相关推荐

    详解vuex数据传输的两种方式及this.$store undefined的解决办法

    因此,当你尝试 `import Store from './store'` 时,由于 `Store` 首字母大写,Vue 无法识别并抛出错误。正确的做法应该是 `import store from './store'`,确保与导出时的变量名一致。 **第一种方式:全局注册 ...

    vue 获取及修改store.js里的公共变量实例

    this.$store.commit('add',1) } }, computed:{ num:function(){ // 因为要做修改 num 的值 所以放在 计算属性里 return this.$store.state.num } } store.js state: { num:0 }, mutations: { ad

    store.js.rar

    store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要Flashokie 或者 Flash 。store.js 会根据浏览器自动选择使用 localStorage、globalStorage 或者 userData 来实现本地存储功能 。 Git地址:...

    store.php.html

    store.php.html

    基于storage开发缓存库si-store.js.zip

    import store from 'si-store' // ES6 可以这么写 var store = require('si-store') // commonJs 规范写法 // 如果是script 标签引入的可以不用管,直接使用store对象即可 store.set('test1', '...

    vuex中store存储store.commit和store.dispatch的用法

    `store.commit` 和 `store.dispatch` 是 Vuex 中用于管理和改变状态的核心方法,它们各自有不同的功能和应用场景。 **1. store.commit** `store.commit` 用于触发一个 **mutation**(状态变更事件)。Mutation 是 ...

    envi_app_store.zip

    3. **复制与替换**:将解压缩得到的 "extensions\custom_code" 文件夹整个复制到ENVI的安装路径下的相应位置。如果原有的 "custom_code" 文件夹存在,你需要覆盖它,因为这会更新ENVI的自定义代码库,包含新的应用...

    com_qihoo_appstore.apk

    com_qihoo_appstore.apk

    本地存储APIsstore.zip

    本地存储 APIsstore.js 是一个实现了浏览器的本地存储的 JavaScript 封装 API,不是通过 Cookie 和 Flash 技术实现,而是使用 localStorage。小弟我主要是用于chrome,Safari,手机Web等先进浏览器里面跑。so.......

    store.js

    store.js

    Microsoft Store.zip

    首先,安全性得到了保障,因为所有上架的应用都经过微软的审核,减少了恶意软件的风险。其次,更新管理变得简单,用户可以一键更新所有应用,保持系统最新状态,提高性能和稳定性。再者,对于开发者而言,Microsoft ...

    AppleStore.csv

    包括苹果商店APP的id、开发商、软件大小、货币类型、价格、总评分数、均评论数、年龄分级、分类标签、支持设备数、ipad支持等信息。可供数据分析和数据挖掘。数据行11000+

    PyPI 官网下载 | p2.store.client-0.3.1.tar.gz

    《PyPI官网下载:p2.store.client-0.3.1.tar.gz——探索Python库的奥秘》 PyPI(Python Package Index),是...通过这样的过程,我们的Python编程技能将得到显著提升,也能更好地理解和利用PyPI这个强大的资源库。

    vuex 解决报错this.$store.commit is not a function的方法

    当遇到 `this.$store.commit is not a function` 的错误,通常是因为在尝试调用 Vuex 中的 mutation 方法时,没有正确地配置或引用 store。 首先,我们需要确保正确安装了 Vuex。通过运行 `npm install vuex --save...

    store.zip

    "store.zip"是一个压缩文件,通常用于存储多个相关的文件或代码。在IT行业中,这种类型的文件经常被开发者用来分发项目、备份数据或者共享代码库。"store"这个标签可能暗示了这个压缩包包含了与商店、库存管理或者...

    .DS_Store.DS_Store

    .DS_Store.DS_Store

    ENVI_appstore.zip

    《ENVI_appstore.zip——探索遥感影像处理的利器》 ENVI,全称为Environment for Visualizing Images,是一款广泛应用于遥感数据处理和分析的专业软件。ENVI_appstore.zip文件是一个压缩包,其中包含了ENVI应用程序...

    mem_store.rar_mem-store_memory

    标题中的"mem_store.rar_mem-store_memory"提示我们这是一个与内存存储相关的项目,可能涉及内存管理、数据读写等操作。描述中的"test class for read and write data to memory"进一步确认了这一点,它是一个用于...

Global site tag (gtag.js) - Google Analytics