使用带有组合框的表单面板
Ext.define('MyApp.admin.view.UserAddView', {
extend: 'Ext.form.Panel',
requires: [
'MyApp.admin.controller.UserAddViewController'
],
controller: 'userAdd',
autoScroll: true,
frame:true,
items: [{
xtype:'combobox',
fieldLabel: 'Roles',
collapseOnSelect: true,
editable: false,
multiSelect: true,
queryMode: 'remote',
queryParam: undefined,
displayField: 'authority',
bind: {
store: '{role}'
},
name: 'authorities'
}]
});
然后我想从视图控制器动态设置值到这个组合框
var ob = {'authorities': 'ROLE_ADMIN_USERS'};
var panelToAddName = Ext.create('MyApp.admin.view.UserAddView', {});
panelToAddName.getForm().setValues(ob);
每次收到错误
Uncaught TypeError: undefined is not a function
在以下一行
panelToAddName.getForm().setValues(ob);
如果在combobox
中本地指定商店,则没有这样的问题store: ['ROLE_ADMIN_USERS']
我猜测在调用setValue时没有加载与远程列表相关的问题,但设置queryMode:'local',并从视图控制器加载带有列表的商店并不能解决问题。
有没有办法通过视图控制器中的远程加载列表为组合框设置值?
答案 0 :(得分:0)
我认为问题在于组合框的 bind 配置。在Ext5 doc中,组合框没有名称 bind 的配置。
如果您的商店名称是角色,请尝试撰写store:'role'
而不是 bind 。
希望这会奏效。
答案 1 :(得分:0)