[英]How to populate Selected column in ItemSeclector with default values in Ext-JS
我在Ext.ux.form中使用ItemSelector。 我需要使用一些默认值填充“选定”列。 我可以正确填充“可用”列,但是当我尝试将toField的存储设置为默认值时,它最终出现在“可用”列中。 以下是代码段。 有人可以帮我吗?
var data = [{"name":"abcd"}];
var ds = SailPoint.Store.createStore({
url: CONTEXT_PATH + '/define/applications/discoverServers.json',
fields: ['name','value'],
autoLoad: true,
baseParams: {domain : domain},
listeners: {
load: function() {
alert('store loaded');
}
}
});
var itemselectorField = new Ext.Panel({
title: 'Select Servers',
width: 700,
id:'selectServerId',
bodyPadding: 10,
height: 300,
renderTo: 'itemselector',
layout: 'fit',
items:[{
xtype: 'itemselector',
name: 'itemselector',
id: 'itemselectorField',
anchor: '100%',
imagePath: '../images/extjs-ux/',
store: ds,
displayField: 'name',
valueField: 'name',
allowBlank: false,
msgTarget: 'side',
fromTitle: 'Available',
toTitle: 'Selected',
listeners: {
afterrender: function() {
Ext.getCmp('itemselectorField').toField.store.loadData(data);
Ext.getCmp('selectServerId').doLayout();
alert("After Render");
}
}
}
]
});
您应该使用itemselector字段的setValue方法。 您的监听器对象应如下所示:
listeners: {
afterrender: function(field) { //Add the field argument to the afterrender
var a = []; // The setValue method receives an Array
for(var key in data) {
a.push(data[key].name);
}
field.setValue(a);
}
}
小提琴,所以您可以看一下: https : //fiddle.sencha.com/#fiddle/gue
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.