Javascript ExtJs组合框:样式条目
我想在组合框中输入一些斜体字 是否有类似于列渲染器的功能,或者如何实现这一点 编辑:对不起,我没有提供足够的信息,我意识到这是我以前想做的无稽之谈Javascript ExtJs组合框:样式条目,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我想在组合框中输入一些斜体字 是否有类似于列渲染器的功能,或者如何实现这一点 编辑:对不起,我没有提供足够的信息,我意识到这是我以前想做的无稽之谈 在我完全理解我的问题之后,我会写更多的话来说明这一点…Ext.form.field.ComboBox具有配置属性“renderTpl”,您可以创建自己的Ext.XTemplate并使用它(html标记)。XTemplate还允许在模板内部使用if-caluse,所以您可以为斜体文本创建if-caluse。 Doc for Ext.XTemplate:
在我完全理解我的问题之后,我会写更多的话来说明这一点…Ext.form.field.ComboBox具有配置属性“renderTpl”,您可以创建自己的Ext.XTemplate并使用它(html标记)。XTemplate还允许在模板内部使用if-caluse,所以您可以为斜体文本创建if-caluse。
Doc for Ext.XTemplate:如果您只想设置列表项本身的样式,那么为下拉列表中使用的内部绑定列表提供一个
getInnerTpl()
函数就足够了:
var combo = new Ext.form.field.ComboBox({
// ...
listConfig: {
getInnerTpl: function() {
return '{field1}: {field2}';
}
},
// ...
});
如果要更改下拉列表的全部内容,请在listConfig
中提供tpl
参数:
var combo = new Ext.form.field.ComboBox({
// ...
listConfig: {
tpl: '<div><tpl for="."><span class="item">{field1}: {field2}</span></tpl></div>',
itemSelector: 'span.item' // you need to provide an itemSelector if you change the template
},
// ...
});
var combo=new Ext.form.field.ComboBox({
// ...
列表配置:{
tpl:“{field1}:{field2}”,
itemSelector:'span.item'//如果更改模板,则需要提供itemSelector
},
// ...
});
根据建议,您应该阅读
Ext.XTemplate
的文档。您需要说明如何调用combobox或store?不要覆盖renderTpl
,因为这将破坏所有组件布局。