Javascript 如何使用Ext JS中的默认值填充ItemSeclector中的选定列
我正在Ext.ux.form中使用ItemSelector。我需要用一些默认值填充所选列。我可以正确地填充Available列,但当我尝试将toField的存储设置为默认值时,它最终会出现在Available列中。下面是代码片段。谁能帮我一下吗Javascript 如何使用Ext JS中的默认值填充ItemSeclector中的选定列,javascript,extjs,itemselector,Javascript,Extjs,Itemselector,我正在Ext.ux.form中使用ItemSelector。我需要用一些默认值填充所选列。我可以正确地填充Available列,但当我尝试将toField的存储设置为默认值时,它最终会出现在Available列中。下面是代码片段。谁能帮我一下吗 var data = [{"name":"abcd"}]; var ds = SailPoint.Store.creat
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);
}
}
一把小提琴,你可以看一看: