<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Extjs用的时间不长,这次是我项目当中用到了,所以记录下,为初学者提供些参考。。。</span>
先说下Itemselector这个插件,在4.1版本的api中貌似没发下(我看的是中文版,英文比较渣)。
4.2.1有这个插件的文档。官方文档给的example是这样的
参考了http://www.cnblogs.com/zjx3/archive/2012/03/17/2404097.html文章的内容,还有其它网上给的资料,其中都是建立了两个itemselector。
而官方资料只有一个,如下:
var isForm = Ext.widget('form', {
title: 'ItemSelector Test',
width: 700,
bodyPadding: 10,
height: 300,
renderTo: 'itemselector',
layout: 'fit',
items:[{
xtype: 'itemselector',
name: 'itemselector',
id: 'itemselector-field',
anchor: '100%',
fieldLabel: 'ItemSelector',
imagePath: '../ux/images/',
store: ds,
displayField: 'text',
valueField: 'value',
value: ['3', '4', '6'],
allowBlank: false,
msgTarget: 'side',
fromTitle: 'Available',
toTitle: 'Selected'
}],
dockedItems: createDockedItems('itemselector-field')
});
我自己也是用的这个方式写的:
if(success){
var metaDataSelector=Ext.create('Ext.ux.form.ItemSelector',{
id:'selectMetaData',
fromTitle:'可选择的元数据列表',
store:meta_DataStore,
valueField:'MD_ID',
displayField:'MD_NAME',
// buttons:['add','remove'],
// value:jsonobject,
toTitle:'已选择的元数据列表'
});
component.add(metaDataSelector);
只是截取了部分片段,component是一个form,向form里面添加一个itemselector组件。
结果是
fromTitle和toTitle分别指的是左侧文本框和右侧文本框,displayField和valueField指的是文本框每一个item的显示值(元芳hehe、速度等文字)和实际值。
想要获得右侧文本框中的条目的实际值,只需要用metaDataSelector.getValue() 就可以得到右侧条目的实际值。
需要注意的是这个组件有记忆性,就是关闭这个窗口之后再次打开,还是关闭前的样子,需要手工调用reset()方法。
第一次写文章写的不好哈,希望大家多多指点