ExtJS的下拉选单Combobox中空选项的高度问题

 
ExtJS的下拉选单组件Combobox如果有空选项时,会有空选项高度太小的问题,如下图:


解决方法是为Combobox的tpl属性设置template string,并在该template string中添加高度样式定义,例如:
Java代码   
  1. new Ext.form.ComboBox({   
  2.     name: 'gender',   
  3.     triggerAction: 'all',   
  4.     editable: false,   
  5.     disabled:false,   
  6.     mode: 'local',   
  7.     displayField: 'name',   
  8.     valueField: 'value',   
  9.     store:genderStore,   
  10.     tpl:'<tpl for=".">' +   
  11.             '<div class="x-combo-list-item" style="height:12px;">' +   
  12.             '{name}' +   
  13.         '</div>'+   
  14.         '</tpl>'  
  15. })  
new Ext.form.ComboBox({
	name: 'gender',
	triggerAction: 'all',
	editable: false,
	disabled:false,
	mode: 'local',
	displayField: 'name',
	valueField: 'value',
	store:genderStore,
	tpl:'<tpl for=".">' +
	        '<div class="x-combo-list-item" style="height:12px;">' +
		    '{name}' +
		'</div>'+
	    '</tpl>'
})

注意{name}要和displayField的值一致。

修改后效果如下:



也可以用在{name}后加空字符的方法提供一个假的空白选项,例如:
Java代码   
  1. tpl:'<tpl for=".">' +   
  2.     '<div class="x-combo-list-item" >' +   
  3.             '{name}&nbsp;' +   
  4.     '</div>'+   
  5.     '</tpl>'  
tpl:'<tpl for=".">' +
	'<div class="x-combo-list-item" >' +
            '{name}&nbsp;' +
	'</div>'+
    '</tpl>'

这样只是在显示渲染的时候在选项后加空字符,不会影响传递到后台的选项数据。

最后,也可以在页面上用css统一规定下拉单选项高度:
Java代码   
  1. .x-combo-list-item { height: 21px;}  
.x-combo-list-item { height: 21px;}


可以根据具体项目需求和页面代码结构选择最合适的方法。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值