EXTJS 实现 combobox动态更改TPL
需求:
界面两个combobox控件,A跟B
A控件的select
事件加入了,B控件从后台读取数据的方法,后台的数据不是一张表,根据A控件选择的内容(比如:分类)查不同的表,这就导致查出来的表的字段不太一样,有的表示:ABC,有的是CDE。
B控件的displayExpr
是初始化config
的时候加上去的,valueField
也是,所以这两个再A控件的select
事件中也要一起修改:
A事件:
//获取到B控件
var el=form.get(B);
el.setValue(“”);
//A控件获取到后台的显示值,比如(E,F)
el.displayExpr=record.get('WEB_COLUMNS');
el.valueField=record.get('VAL_COLUMN');
//一个新的TPL字符串
newTpl= '<tpl for=".">'
+'<div class="x-combo-list-item">'
+'<img src="' + Ext.BLANK_IMAGE_URL + '" '
+'class="xyz-multicombo-icon xyz-multicombo-icon-'
+'{[values.' + el.checkField + '?"checked":"unchecked"' + ']}">'
+'<div class="xyz-multicombo-item-text">' + el.getDisplayExpr() + '</div>'
+'</div>'
+'</tpl>'
;
el.tpl = newTpl;
if (el.view) {
el.displayTpl = new Ext.Template(el.displayExpr);
el.view.tpl = new Ext.XTemplate(newTpl);
el.view.refresh();
}
参考:https://www.sencha.com/forum/showthread.php?106538-set-tpl-dynamically
本文来自:EXTJS 实现 combobox动态更改TPL-小码农,转载请保留本条链接,感谢!
温馨提示:
本文最后更新于 2021年01月26日,已超过 1,395 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
正文到此结束
- 本文标签: EXTJS COMBOBOX
- 本文链接: https://djc8.cn/archives/extjs-realizes-combobox-dynamic-change-tpl.html
- 版权声明: 本文由小码农原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
热门推荐
该篇文章的评论功能已被站长关闭