EXTjs 操作组合框中显示的数据
Posted
技术标签:
【中文标题】EXTjs 操作组合框中显示的数据【英文标题】:EXTjs manipulate data displayed in a combobox 【发布时间】:2016-10-28 12:41:43 【问题描述】:大家好,我进入了一个以前在 EXTjs 中完成的新项目,我对此很陌生,我正在努力完成任何事情。
我今天的问题是: 我有一个带有已定义 tpl 的面板,其中有几个函数可以操作 tpl 中的类(如果某个变量为真或假,则显示一个图标而不是另一个图标)。 现在我不得不将相同的逻辑翻译成一个组合框,我遇到了一些问题:
如果我使用tpl
,我会获得相同的视觉结果,但我无法选择任何项目:
tpl: [
'<tpl for=".">',
'<div class="x-publisher [this.renderColor(values.visible)]">',
'<div class="x-publisher-text">name</div>',
'<div class="x-publisher-close fa [this.renderIcon(values.visible)]"></div>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>',
disableFormats: true,
renderColor: function(visible)
return visible ? 'visible' : '';
,
renderIcon: function(visible)
return visible ? 'fa-eye-slash' : 'fa-eye'
],
itemSelector: 'div.x-publisher',
listeners:
select: 'somefunctioncalled'
,
我知道对于组合框,我必须使用 listconfig 和 itemtpl 东西,这样:
listConfig:
itemTpl: [
'<div class="x-publisher visible"><div class="x-publisher-text">name</div><div class="x-publisher-close fa fa-eye"></div></div>'
]
但是这样做,我了解到我无法在 itemtpl 中定义任何函数... 所以,我的想法是在将 visible 变量传递给 itemtpl 之前对其进行操作。
商店是这样的:
store: fields: [ name:'name' , name: 'id', persist: false , name: 'regionalId' , name:'visible', type: 'boolean'],
autoLoad: true,...
现在,是否有一种(简单的)方法可以将“可见”变量转换为字符串“可见”(如果它是真的)或者其他东西(如果它是假的)? 或者...有没有办法模拟第一个行为,我的意思是当我使用 itemTpl 时添加某种自定义函数(我了解到它们被称为成员函数)? 换图标也有问题,不过现阶段可以忽略。
你能帮帮我吗? 提前致谢。
【问题讨论】:
【参考方案1】:我在 itemtpl 中使用了一些逻辑,似乎按预期工作:
itemTpl: [
'<div class="x-publisher',
'<tpl if="visible == true"> visible</tpl>',
'"><div class="x-publisher-text">name</div><div class="x-publisher-close fa fa-eye"></div></div>'
]
【讨论】:
以上是关于EXTjs 操作组合框中显示的数据的主要内容,如果未能解决你的问题,请参考以下文章