2

这是我在教程中发现的

items: [{
    anchor: '100%',
    xtype: 'multiselect',
    msgTarget: 'side',
    fieldLabel: 'Multiselect',
    name: 'multiselect',
    id: 'multiselect-field',
    allowBlank: false,
    store: {
        fields: ['number', 'numberName'],
        proxy: {
            type: 'ajax',
            url: 'Numbers',
            reader: 'array'
        },
        autoLoad: true
    },
    valueField: 'number',
    displayField: 'numberName',
    value: ['3', '4', '6'],
    ddReorder: true
}];

但是当我在我的代码中尝试它时发生了错误。除了将 xtype 从comboto更改multiselect为使其成为之外,还有其他需要做的事情mutiselect吗?

{
    xtype: 'combo',
    fieldLabel: 'Reporting Manager',
    labelWidth: '130px',
    store: 'LeaveRequest',

    displayField: 'reportingmanager',
    afterLabelTextTpl: required,
    name: 'reportingmanager',
    allowBlank: false,
    //dockedItems: 'multiselect-field',
    afterLabelTextTp1: required
}
4

1 回答 1

0

Multiselect 是一个用户扩展类,如果您查看教程中代码的开头,则包含 ux 文件。

Ext.Loader.setPath('Ext.ux', '../ux');
Ext.require([
    'Ext.form.Panel',
    'Ext.ux.form.MultiSelect',
    'Ext.ux.form.ItemSelector'
]);

您需要包含这些文件才能使多选工作

<script type="text/javascript" src="extjs/examples/ux/form/MultiSelect.js"></script>
<script type="text/javascript" src="extjs/examples/ux/form/ItemSelector.js"></script>

如果已加载此文件,请检查您的 firebug/开发人员工具,然后您可以使用 xtype 多选;

于 2013-03-05T12:19:08.120 回答