Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Ext JS中的默认值填充ItemSeclector中的选定列_Javascript_Extjs_Itemselector - Fatal编程技术网

Javascript 如何使用Ext JS中的默认值填充ItemSeclector中的选定列

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

我正在Ext.ux.form中使用ItemSelector。我需要用一些默认值填充所选列。我可以正确地填充Available列,但当我尝试将toField的存储设置为默认值时,它最终会出现在Available列中。下面是代码片段。谁能帮我一下吗

                                 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);
    }
}
一把小提琴,你可以看一看: