Extjs系列之 ArrayStore的用法

一个小巧的帮助类,用于更方便的从一个数组的数据来创建Ext.data.Store

Ext.define("diy", {
/**
* 初始化组件
*/
initComponent: function () {
var me = this;
var entity = me.getEntity();
Ext.apply(me, {
header: {
title: ""
},
width: 600,
height: 300,
layout: "fit",
items: [{
id: "editid",
xtype: "form",
autoScroll: true,
layout: {
type: "table",
columns: 2
},
bodyPadding: 5,
defaultType: 'textfield',
fieldDefaults: {
labelAlign: "right",
labelSeparator: "",
msgTarget: 'side',
margin: "5"
},
items: [{
xtype: "hidden",
id: "id",
name: "id",
value: entity == null ? null : entity.get("id"),
}{
id: "editStatus",
allowBlank : false,
blankText : "",
xtype: "combo",//ComboBox就像是传统的HTML文本 <input> 域和 <select> 域的综合;
labelAlign: "left",
labelWidth: 60,
labelSeparator: "",
fieldLabel: myproject.Message.Express_State,
value: entity == null ? null : me.store.findRecord("id",entity.get("status")),
store: me.store
}
],
});
me.callParent(arguments);
},
});
store定义如下:

store : Ext.create("Ext.data.ArrayStore", {
fields: ["id", "text"],
data: [[-1, ""], [0, "待发货"],
[1, "已发货"], [2, "已收货"],
]
}),

如果我们通过entity也就是前面表格传递进来的实例中只能获取到诸如id字样,0,1,2等怎样转化成待发货,已收货呢

这时候,使用ArrayStore的一个方法叫findRecord(),如上的代码使用,记住参数id只是因为我们的field字段中定义了id和text,

如果不是id,别的也可以,findRecord(“自己定义的字段”,相应的值)这样就可已获得text字段的值了,

之前也是过getById这个方法()但是我传递参数只能传递数字,传递entity.get(“status”)就不可以,

但是这个方法测试有效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值