下面是在 Ext.grid.Panel 组件中选择一行后触发的事件。我有一个表格,里面有一个网格作为项目之一(子组件)。使用嵌套 Ext.grid.Panel 组件的 xtype 添加网格。出于某种原因,当我在表单中单击此嵌套网格组件中的一行时,此事件会被调用两次。它似乎选择了它,然后网格刷新(它完全变成白色/空白),然后重新渲染。在这个完全相同的网格(非嵌套)的典型实现中,这个事件只被调用一次。
两个问题。(1) 我如何在短期内解决这个问题?(2)我将如何解决这个问题以找到原因?
控制器中的事件:
'view-attribute-grid': {
selectionchange: function (selModel, selected) {
alert('selectionchange event called');
}
}
Grid 看起来与这个实现几乎相同,只是有一些小的变化:
http://demo.rasc.ch/eds/extjs42/rowedit.html?theme=classic
编辑:
嵌套:
..见xtype: 'view-attribute-grid',
下文...
Ext.define('App.view.TestForm', {
extend: 'Ext.form.Panel',
xtype: 'view-test-form',
requires: [
'Ext.form.field.Text',
'App.store.TestForm'
],
initComponent: function () {
this.addEvents('create');
Ext.apply(this, {
activeRecord: null,
frame: true,
defaultType: 'textfield',
bodyPadding: 5,
fieldDefaults: {
anchor: '100%',
labelAlign: 'right'
},
items: [{
fieldLabel: 'ID',
name: 'form_id',
allowBlank: false,
disabled: true
}, {
xtype: 'view-attribute-grid',
itemId: Ext.id()
}],
dockedItems: [{
xtype: 'toolbar',
dock: 'bottom',
ui: 'footer',
...