ExtJS Combo默认值返回null

ExtJS Combo default value returned null

本文关键字:null 返回 默认值 Combo ExtJS      更新时间:2023-09-26

我已经在应用程序中设置了一个组合框。Combo具有emptyText和我设置的默认值。

我希望保留'7AM'文本和'7'作为默认值。但是当我尝试通过选择'7AM'提交页面时,则返回null值。

// The data store containing the list of states
var states = Ext.create('Ext.data.Store', {
    fields : [
        'id',
        'text'
    ],
    data: [
        {
            'id':'3',
            'text':'3AM'
        },
        {
            'id':'4',
            'text':'4AM'
        },
        {
            'id':'5',
            'text':'5AM'
        },
        {
            'id':'6',
            'text':'6AM'
        },
        {
            'id':'7',
            'text':'7AM'
        }
    ]
});
// Create the combo box, attached to the states data store
Ext.create('Ext.form.ComboBox', {
    fieldLabel: 'Choose State',
    store: states,
    queryMode: 'local',
    displayField: 'text',
    valueField: 'id',
    emptyText: '7AM',
    value: '7',
    renderTo: Ext.getBody(),
    listeners: {
        'select': function(cbo){
            alert(cbo.getValue());
        }
    }
});

以上是测试代码,你能告诉我为什么当我选择7AMnull会发出警报吗?

// The data store containing the list of states
var states = Ext.create('Ext.data.Store', {
    fields : ['id', 'text'],
    data: [{'id':'3','text':'3AM'}, {'id':'4','text':'4AM'}, {'id':'5','text':'5AM'},{'id':'6','text':'6AM'},{'id':'7','text':'7AM'}]
});
// Create the combo box, attached to the states data store
Ext.create('Ext.form.ComboBox', {
    fieldLabel: 'Choose State',
    store: states,
    itemId: 'combo',
    queryMode: 'local',
    displayField: 'text',
    valueField: 'id',
    //emptyText: '7AM',
    //value: '7',
    renderTo: Ext.getBody(),
    listeners: {
        'select': function(cbo){
            alert(cbo.getValue());
        },
        'afterrender': function(cbo) {
            cbo.setValue("7");
        }
    }
});

你的例子似乎还可以。所以你的问题一定是在其他地方,而不是在组合本身。

1-检查应用程序的控制台中是否没有错误。

2-检查存储是否加载,当你检查它的值

3-检查是否有事件改变组合值后,它呈现