在我的extjs组合框中,我希望以
等格式显示2个值例如。 value1 - value2
如果value2不存在,我希望它只显示没有短划线的值1
例如。值1
var combo = new Ext.form.field.ComboBox({
// ...
getInnerTpl : function() {
if ('{value2}' == null || '{value2}' == '') { // doesnt work..
return '{value1}';
} else {
return '{value1} - {value2}';
}
},
// ...
});
答案 0 :(得分:1)
您可以更改displayTpl
:
用于在文本中显示所选记录的模板 领域。一系列选定的记录'数据将传递给 模板。
例如:
displayTpl: [
'<tpl for=".">',
'{value1}{[values.value1 && values.value2 ? \' - \' : \'\']}{value2}',
'<tpl if="xindex < xcount">,</tpl>',
'</tpl>'
]
您可以使用itemTpl
:
listConfig
要渲染的项目模板的内部部分。跟着一个 XTemplate结构将放在tpl中。
例如:
listConfig: {
itemTpl: '{value1}{[values.value1 && values.value2 ? \' - \' : \'\']}{value2}'
}
答案 1 :(得分:0)
看起来将displayTpl更改为以下工作基于@CD ..回答extjs 4.2
displayTpl: new Ext.XTemplate( '<tpl for=".">',
'{value1}{[values.value1 && values.value2 ? \' - \' : \'\']}{value2}',
'<tpl if="xindex < xcount">,</tpl>',
'</tpl>')