gpt4 book ai didi

javascript - 为什么 grid.getSelectionModel().getSelection() 返回空数组?

转载 作者:行者123 更新时间:2023-11-30 17:32:45 24 4
gpt4 key购买 nike

我需要使用选定行中的数据。但是在我的 Controller 中我无法访问它,因为

var selectedRecord = grid.getSelectionModel().getSelection()

返回空数组 - [ ]

我也尝试了这里建议的另一种方式 http://www.sencha.com/forum/showthread.php?153545

We use selectedRows = grid.getSelectionModel().selected . It returns MixedCollection of the selected rows. Then you can use MixedCollection methods to get different selected Models. Like first(), getAt() etc

但我仍然得到空的 MixedCollection。你可以在图片上看到确实选择了一行,为什么我不能访问它?如果重要的话,我会在商店中使用 ajax 代理。另外,我试图在工具栏按钮“单击”事件处理程序中获取选定的行。这是我的 Controller 的代码:

Ext.define('MyApp.controller.Users', {
extend: 'Ext.app.Controller',
views: [
'user.List',
'user.Edit'
],
stores: [
'Users'
],
models: ['User'],
init: function() {
this.control({
'button[action=update]': {
click: this.editUser
},
'useredit button[action=save]': {
click: this.updateUser
}
});

},
editUser: function(button, eventObj) {
this.getSelected();
//...
},

getSelected: function() {
var grid = Ext.widget('userlist');
var selectedRecord = grid.getSelectionModel().getSelection();
console.log(selectedRecord);
},

enter image description here

最佳答案

Ext.widget 不查询 DOM 中组件的现有实例,而是创建 userlist 组件的新实例。因此,请使用 Ext.ComponentQuery 而不是它来查找组件的现有实例。
更好的方法 - 使用 refs:

 refs: [
{
ref: 'userList',
selector: 'userlist'
}
]

并且您可以轻松地使用 this.getUserList() 来获取用户列表网格

var me = this,
grid = me.getUserList(),
selectedRecord = grid.getSelectionModel().getSelection();

关于javascript - 为什么 grid.getSelectionModel().getSelection() 返回空数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22653375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com