こんにちは、次の RowEditing プラグインを使用しています
ar rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToMoveEditor: 1,
autoCancel: false,
errorSummary:false,
onEnterKey: function(e) { console.log(e); },
listeners:{
'beforeedit':function(grid,eOpts){
},
'canceledit':function(grid, eOpts){
if(grid.grid.store.data.getAt(0).data.id == "new"){
grid.grid.store.removeAt(0);
}
},
'afteredit':function(editor, changes, record, rowIndex){
editor.grid.store.reload();
},
'validateedit': handleUpdate{{params.alias}}
}
});
しかし、入力アクションは引き続き実行され、コンソールログは実行されません...リスナー内にも配置しようとしましたが、変更はありません...
ここに私のグリッドの私のアイテムがあります
{
header: 'Description',
width: 160,
align: 'left',
dataIndex: 'description',
filters: {
type: 'string'
},
enableKeyEvents: true,
editor: {
xtype: 'textfield',
allowBlank: false,
listeners: {
keydown: {
element: 'el',
fn: function(el){
if (el.ENTER){
alert('test');
return false;
}
}
},
},
}
}
そのため、次は、フィールド自体の内部での入力 (または行編集の送信) の実行を「無効にする」ことを試みます。しかし、falseを返すとフォームが送信され、onEnterKeyもそこで機能しません...誰かが私が間違っていることを知っていますか?
onEnterKey は親 Editing クラスの一部であることがわかりましたが、それをどのように呼び出すべきかはわかりません..