Ext Ext.ux.form.LovCombo setValue()如何赋值
Ext.ux.form.LovCombo 多选下拉框setValue(); 赋值没有用,请有经验的高手指点下!
关键代码如下:
this.loadRoleComboxValuesByType = function() { var roleType = sma.getSelected().get("roleType"); var roles = Ext.data.Record.create([{ name : 'roleId', mapping : 0 }, { name : 'roleName', mapping : 1 }]); var reader = new Ext.data.ArrayReader({id:0},roles); var cstore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : Main.ContextPath + '/operates/roleInstall!getJsonRolesByType.action?roleType='+roleType }), reader: reader }); cstore.load(); return cstore; } { xtype:'lovcombo', //多选下拉框 fieldLabel: '角色', name : 'roles', allowBlank:false, blankText:"请为该用户分配角色!", emptyText:'分配角色...', hideOnSelect : true, store:this.loadRoleComboxValuesByType(), // 动态加载角色下拉框 valueField : "roleId", displayField : "roleName", hiddenName:'roles', forceSelection:true, triggerAction : 'all', mode : 'local' }
当我用setValue('1,2');赋值时,多选框没有显示对应的roleName,不知道为什么,到网上找了好久也没找到答案,官方API也没找到答案!求高手指点小弟下!
///setValue不行,就试试setRawValue
原因是加载数据时同步或者异步的问题!
其实可以先将数据源加载一下就ok了,用setValue()就可以赋值成功了。