为extjs开发应用程序6.单击“编辑”按钮,无法打开用于编辑所选记录的表单。表单本身出现,但是字段值是空的。
网格:
var textField = { xtype: 'textfield' };
Ext.define('BookApp.view.BookList' ,{
extend: 'Ext.grid.Panel',
alias: 'widget.booklist',
title: 'Library',
store: 'BookStore',
tbar: [{
text: 'Добавить операцию',
iconCls: 'fa-plus',
//handler: 'onAddClick',
action: 'onAdd'
},{
text: 'Редактировать',
iconCls: 'fa-plus',
//handler: 'onEditClick',
action: 'onEdit'
},
....
控制器:
Ext.define('BookApp.controller.Books', {
extend: 'Ext.app.Controller',
views: ['BookList', 'Book', 'DoubleBookList'],//
stores: ['BookStore','DoubleBookStore'],//
models: ['Book', 'DoubleBook'],
init: function() {
this.control({
//Нажатие на кнопку редактирования
'booklist button[action=onEdit]': {
click: this.editBook
},
});
},//Открытие окна редактирования записи
editBook: function(grid, record){
var me = this,
win = Ext.widget('bookwindow');
console.log(record.data);
win.down('form').loadRecord(record);
},
clearForm: function(grid, record) {
var view = Ext.widget('bookwindow');
view.down('form').getForm().reset();
}
});
在控制器中,单击按钮[action = onEdit]时,我将调用onEdit。在record.data函数本身中,我得到“未定义”。我了解问题出在使用“点击”方法,但没有 传递所选记录的值。如果我更改为字符串的itemdbclick事件,则将成功传递值,但是双击记录不适合我。 必须通过窗口进行记录的编辑。 应该使用哪个事件将字段值发送到编辑表单,或者如果任何人可以共享一个有用的示例。 谢谢