2

Firefoxを除くすべてのブラウザで動作する次のコードがあります。

{
    xtype: 'gridcolumn',
    dataIndex: 'action',
    flex: 1,
    text: 'Action',
    editor: new Ext.form.field.ComboBox({
        typeAhead: true,
        triggerAction: 'all',
        selectOnTab: true,
        store: [
            ['Update','Update'],
            ['Suspend','Suspend'],
            ['Cancel','Cancel']
        ],
        lazyRender: true,
        listClass: 'x-combo-list-small',
        listeners: {
            change:{
                scope: me,
                fn: me.processAction
            },
            focus: function(combo) {
                combo.expand();
            },
            collapse: function(combo) {
                //combo.setVisible(false);
            }
        }
    })
}

問題は、コンボボックスをクリックすると、リストの最初の項目がであるということです<div id="ext-gen1584" class="x-grid-cell-inner " style="text-align: left; ;">&nbsp;</div>

他の誰かがこれに遭遇しましたか?ExtまたはFirefoxのバグですか?

現在Firefox18.0.2でテストしています。

4

4 に答える 4

1

他の人が言ったように、モデルにdataIndexのフィールドがない場合に発生するこのバグがありました。しかし、モデル内のそのフィールドを空の値でも初期化する必要があるというちょっとした瞬間があります。そうすれば、正しくレンダリングされます。

于 2015-04-28T08:17:10.227 に答える
0

はい、5.0 未満のバージョンでは、Firefox にバグがあります。


例を見てください


header: 'Relationship',
dataIndex: 'relationshipWRONG', // rename this on 'relationship'
flex: 2,
getEditor: function() {
    return Ext.create('Ext.grid.CellEditor', {
        field: Ext.create('Ext.form.field.ComboBox', {
            store: relativeStore,
            displayField: 'name',
            valueField: 'name',
            editable: false
        })
    });
}

Chrome と Firefox でこれを見てください。Firefox では null 値の代わりに dom 要素が表示されます。5 バージョンでは、すべて問題ありません。このデータインデックスの名前を変更すると、値が正しくなります。

しかし、dataIndex が datacolumn で正しいときにこのバグを見ました。それを解決する方法が見つからず、beforestarteditイベントで値を変更するだけです (ofc は悪い習慣です)。

于 2014-10-17T13:25:44.060 に答える
-1

グリッドで同様の問題が発生しました。dataIndex に値がない場合、セルには表示された内容が表示されます。したがって、dataIndex:Action の内容を確認してください。

于 2013-06-25T11:03:22.987 に答える