0

コンボボックスを作成し、保存する配列をアタッチしました。私が欲しかったのは、リストから選択したり、カスタムテキストを入力したりできることです。forceSelection = false で実現できるものを検索しました。そのドキュメントを読んだところ、forceSelection がデフォルトで false であり、sencha Architect を使用しているため、明示的に構成を設定できないことがわかりました。以下は、私が行った設定です。しかし、タブを押すか、入力したテキストをコンボボックスに入力するとすぐに存在しなくなります。

{
xtype: 'fieldcontainer',                                    
id: 'internetmessager',
autoDestroy: false,
layout: {
    align: 'stretch',
    type: 'hbox'
},
items: [
    {
        xtype: 'combobox',
        flex: 1,
        margin: '0 10 0 0',
        name: 'label',
        autoSelect: false,
        queryMode: 'local',
        store: [
            'Home',
            'Work',
            'Personal'
        ],
        typeAhead: true
    },
    {
        xtype: 'textfield',
        flex: 2,
        name: 'value',
        emptyText: 'IM'
    }
]
}

ありがとう、アリ・アッバス

4

2 に答える 2

0

[編集] なんてこった... ごめんなさい... あなたの質問を読み直した後、あなたがSencha Architectを使っていることに気づきました[/編集]

私があなたを正しく理解していたかどうかはわかりません... 私がしたこと: コンボボックスに書き込むか、そのストアから値を選択します。(blur-listener) コンボボックスを離れると、実際の値が textfield に設定されます。ところで:itemIdは使いやすいです(imho)

    items: [
{
    xtype: 'fieldcontainer',
    id: 'internetmessager',
    autoDestroy: false,
    layout: {
        align: 'stretch',
        type: 'hbox'
    },
    items: [
        {
            xtype: 'combobox',
            flex: 1,
            margin: '0 10 0 0',
            name: 'label',
            autoSelect: false,
            queryMode: 'local',
            store: [
                'Home',
                'Work',
                'Personal'
            ],
            typeAhead: true,
            listeners: {
                blur: function (combo) {
                    Ext.ComponentQuery.query('[name=value]')[0].setValue(combo.getValue());
                }
            }
        },
        {
            xtype: 'textfield',
            flex: 2,
            name: 'value',
            emptyText: 'IM'
        }
    ]
}
于 2013-07-04T11:14:14.877 に答える