ExtJS 4.2 - 设置"宽度"用于组合框内的列表

时间:2014-05-27 17:59:31

标签: css combobox extjs4 width

我遇到使用Sencha ExtJS 4.2的组合框问题。我想显示"下拉列表"对于组件的不同宽度,我的意思是,只有记录列表应该更宽,而组件应保持正常大小。因此,当您展开时,您可以看到具有全长的记录,但组合框保持默认宽度。

我试过在lsitConfig中设置宽度,添加样式,但它不起作用。到目前为止,我设法做的是更改列表的宽度,但它显示一个滚动条,这样你就可以看到完整的记录文本,而且用户不是很友好。

我使用Crome Web Developer检查HTML元素并检测到以下css:

x-boundlist .x-boundlist-floating, .x-layer, .x-boundlist-default, .x-border-box

enter image description here

如果我在那里设置宽度,我得到我想要的。到现在为止我得到的是这样的东西:

enter image description here

正如您所看到的,我可以根据记录来处理文本的全长,但它需要一个滚动条让用户知道它的内容。

但是当我修改我在第一张图片中展示的类属性时,它的工作效果非常好,而且它保留了组合宽度,它只是扩展了记录列表的宽度,这就是我想要的。 / p>

enter image description here

这是我正在使用的代码:

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>';
    },

如果有人能帮助我,我会非常感激。

提前致谢。

2 个答案:

答案 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配置。