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 Extjs5:组合框未显示所选值_Javascript_Extjs_Combobox - Fatal编程技术网

Javascript Extjs5:组合框未显示所选值

Javascript Extjs5:组合框未显示所选值,javascript,extjs,combobox,Javascript,Extjs,Combobox,我创建了一个组合框,当我选择一个值时,不会显示任何值 Ext.create("Ext.form.field.ComboBox", { name: el.name, fieldLabel: el.labelId, hidden: !(el.visible), displayField:"value", valueField:"value", flex: 1, store:Ext.cre

我创建了一个组合框,当我选择一个值时,不会显示任何值

 Ext.create("Ext.form.field.ComboBox", {
        name: el.name,
        fieldLabel: el.labelId,
        hidden: !(el.visible),
        displayField:"value",
        valueField:"value",
        flex: 1,
        store:Ext.create("Ext.data.Store",{
               fields: ['key', 'value'],
               data: [
                        { key: "10",value: "etap 0"},
                        { key: "200",value: "etape 1"},
                        { key: "300", value: "etape 3"}
               ]
        }),
        regex: el.parameterType.regex,
        regexText: el.regExErrMsg,
        allowBlank: !el.mandatory,
        blankText: el.requiredErrMsg
    })
编辑

下面就是返回combo的方法:

 drawField: function (el) {
    var me = this;
    var uiField = Ext.create(me.componentType, {
        name: el.name,
        fieldLabel: el.labelId,
        hidden: !(el.visible),
        flex: 1,
        regex: el.parameterType.regex,
        regexText: el.regExErrMsg,
        allowBlank: !el.mandatory,
        blankText: el.requiredErrMsg
    });
    if (el.parameterType.isCombo) {
        uiField.displayField = 'value';
        uiField.valueField = 'key';
        uiField.editable = false;
        uiField.store = Ext.create('Ext.data.Store', {
            fields: ['key', 'value'],
            data: el.parameterType.values
        });
    }
    return uiField;
}
el
参数是如下所示的JavaScript对象:

{
    name: "",
    labelId: "Champ :",
    parameterType: {
        regEx: "^.*$",
        errID: "115",
        isCombo: true,
        values:[
            {key: "10", value: "etap 0"},
            {key: "200",value: "etape 1"},
            {key: "300",value: "etape 3"},
        ],
        selectedValue: "etap 0"
    },
    mandatory: false,
    visible: true,
    defaultValue: "",
    elementType: "LIST_BOX",
    regExErrMsg: "Valeur invalide.",
    requiredErrMsg: ""
}

而运行时的
me.componentType
Ext.form.field.ComboBox

valueField:“value”是错误的,您应该指定valueField:“key”以便ComboBox正常工作

这把小提琴对我来说很好,我删除了对el的引用,因为它对我来说是未定义的,还将Ext.data.store更改为Ext.data.store


如何选择值?我手动选择值如何手动选择值?web控制台中是否有错误?顺便说一句,
store:
definition后缺少逗号组合在导航器中呈现为红色,我从显示的列表中选择一个值。选择后,该值不会显示在响应的javascript控制台中的组合No error中,但我不认为这是问题的原因。我试过了,但问题是,这里的代码与您的代码几乎相同。ComboBox应该使用数据存储中的ID来存储值,而不是项目的标题。这对我来说是不同的:(你能不能创建一个修改你的代码以便我们调试它,你有控制台错误吗?
Ext.application({
    name: 'Fiddle',

    launch: function() {
        Ext.create("Ext.form.field.ComboBox", {
            renderTo: Ext.getBody(),
            displayField: "value",
            valueField: "value",
            flex: 1,
            store: Ext.create("Ext.data.Store", {
                fields: ['key', 'value'],
                data: [{
                    key: "10",
                    value: "etap 0"
                }, {
                    key: "200",
                    value: "etape 1"
                }, {
                    key: "300",
                    value: "etape 3"
                }]
            })
        });
    }
});