ExtJs组合框没有设置值

时间:2017-01-29 11:37:57

标签: extjs combobox extjs6

我有一个多选组合框,它是另一个组合框的targetcombo。

以下是数据库中的一些值。

101 - 粉红色 102 - 红色
103 - 深蓝色

我使用setValue设置组合框的值。但我发现只有当值不包含空格时它才有效。 例如 -

combobox1.setValue(101);   // Works
combobox1.setValue(102);   // Works
combobox1.setValue(103);   // Does Not Work

此外,

var val = '101,102';
combobox1.setValue(val.split(',')); // Works well. Displays 'Pink, Red'

但是

var val = '101,103';
combobox1.setValue(val.split(',')); // Displays only 'Pink'

我在这里做错了吗?或遗漏任何东西。问题是否与targetcombo有关。 请帮忙。

1 个答案:

答案 0 :(得分:0)

最好使用Ext.form.field.Tag。因为版本5.1.0以后不推荐使用Combo multiselect。

Ext.define('Ext.form.field.Tag', {
    items: [
        {
            xtype: 'tagfield',
            id: 'tagF',
            valueField: 'value',
            store: 'CustomStore',
        },
        {
            xtype: 'button',
            handler: function(button, e) {
                Ext.first('#tagF').setValue(101)
            },
            text: '101'
        },
        {
            xtype: 'button',
            handler: function(button, e) {
                Ext.first('#tagF').setValue(102)
            },
            text: '102'
        },
        {
            xtype: 'button',
            handler: function(button, e) {
                Ext.first('#tagF').setValue(103)
            },
            text: '103'
        },
        {
            xtype: 'button',
            handler: function(button, e) {
                var val = '101,102';
                Ext.first('#tagF').setValue(val.split(','));
            },
            text: 'split'
        }
    ]

});