我遇到使用Sencha ExtJS 4.2的组合框问题。我想显示"下拉列表"对于组件的不同宽度,我的意思是,只有记录列表应该更宽,而组件应保持正常大小。因此,当您展开时,您可以看到具有全长的记录,但组合框保持默认宽度。
我试过在lsitConfig中设置宽度,添加样式,但它不起作用。到目前为止,我设法做的是更改列表的宽度,但它显示一个滚动条,这样你就可以看到完整的记录文本,而且用户不是很友好。
我使用Crome Web Developer检查HTML元素并检测到以下css:
x-boundlist .x-boundlist-floating, .x-layer, .x-boundlist-default, .x-border-box
如果我在那里设置宽度,我得到我想要的。到现在为止我得到的是这样的东西:
正如您所看到的,我可以根据记录来处理文本的全长,但它需要一个滚动条让用户知道它的内容。
但是当我修改我在第一张图片中展示的类属性时,它的工作效果非常好,而且它保留了组合宽度,它只是扩展了记录列表的宽度,这就是我想要的。 / p>
这是我正在使用的代码:
xtype: 'combobox',
forceSelection: false,
required: false,
displayField : 'description',
rowIndex: rowIndex,
name: 'pcrCode1',
listConfig: {
getInnerTpl: function() {
return me.formatCPECodeBoxDisplay();
}
}
formatCPECodeBoxDisplay: function() {
return '<div style="width:323px;"><tpl if="code != \'\'">{code} : {description}</tpl></div>';
},
如果有人能帮助我,我会非常感激。
提前致谢。
答案 0 :(得分:3)
minWidth
属性中的相关信息为listConfig
:
me.directoryPicker = Ext.widget({
xtype:'combo',
editable:false,
store: 'Directory',
width: 300, // width of the picker
listConfig:{
minWidth:500, // width of the list
maxHeight:400, // height of a list with scrollbar
}
});
答案 1 :(得分:1)
尝试添加
matchFieldWidth: false
到您的ComboBox配置。