0
ExtJS 4에서는 그리드 패널에 스페이스 바 토글 선택을 도입했습니다. 나는 onKeyPress를 재정의하고 이것을 비활성화 할 수 있기를 원합니다. (나는 enableKeyNav를 비활성화하고 싶지 않다.)ExtJS에서 Ext.selection.RowModel을 오버라이드하는 방법 4
나는 시도했다.
//This didn't work....
Ext.override('Ext.selection.RowModel', {
onKeyPress: function(e, t) {
console.log(e);
}
});
//This also didn't work...
Ext.define('MyApp.selection.RowModel', {
override: 'Ext.selection.RowModel',
onKeyPress: function(e, t) {
console.log(e);
}
});
관련 주제; ExtJS 4 Grid Panel - Spacebar row toggle
내가 재정의하려는 소스 코드.
// Select/Deselect based on pressing Spacebar.
// Assumes a SIMPLE selectionmode style
onKeyPress: function(e, t) {
if (e.getKey() === e.SPACE) {
e.stopEvent();
var me = this,
record = me.lastFocused;
if (record) {
if (me.isSelected(record)) {
me.doDeselect(record, false);
} else {
me.doSelect(record, true);
}
}
}
},
두 번째는 좋아 보이지만, 타이밍이 문제가 될 수있다 :
는
소스 ... 함께가는 종료. 언제 그것을 무시하고 있습니까? –
응용 프로그램 시작 지점의 끝. 그래서 Ext.application의 끝에 나는 두 번째 시도했을 때 그리드 플랫을로드하지 않았다. 선택 모델의 'createClass'속성을 MyApp.selection.RowModel로 변경했지만 크롬 도구에서 추적 할 수없는 오류가 발생했습니다 – JasonF
실제로 오류가 잡히지 않았습니다. TypeError : 개체가 함수가 아닙니다. VM13736 : 3 익명 함수) VM13736 : 3 Ext.ClassManager.instantiate ext-all.js : 9273 (익명 함수) – JasonF