【发布时间】:2014-03-18 15:21:54
【问题描述】:
我有一个numberfield,我将maxLength 属性设置为enforceMaxLength。结果,该字段不接受超过maxLength 的值,到目前为止一切顺利。
我想根据其他组件值更改此maxLength 属性。我尝试了几种方法但没有成功(它正在设置值但没有工作)。
问题是,如何在渲染后更改组件的初始属性?
{
xtype: 'combobox',
fieldLabel: 'PROMOSYON TİPİ',
name: 'PROMO_TYPE',
id: 'promo_type',
displayField: 'PROMO_TYPE_NAME',
valueField: 'PROMO_TYPE_VALUE',
store: promoType,
queryMode: 'local',
inputWidth: 250,
labelWidth: '280px',
margin: '0 0 15 0',
listeners: {
change: function(cb,nv) {
if (nv != 0 || nv != 2) {
var pd = Ext.getCmp('promo_disc');
Ext.apply(pd, {maxLength: 8});
}
}
}
},
{
xtype: 'numberfield',
name: 'PROMO_DISCOUNT',
fieldLabel: 'PROMOSYON İNDİRİMİ',
id: 'promo_disc',
inputWidth: 250,
labelWidth: '280px',
margin: '0 0 15 0',
maxLength: 3,
enforceMaxLength: true,
minValue: 0
}
【问题讨论】:
-
设置
maxLength将向组合框的<input>标记添加一个名为maxlength的属性。因此,您可以获得<input>标记并将maxlength属性的值设置为您想要的值。或者,您可以销毁现有的 ext 组件,并使用新的 maxLength 创建一个新的组合框。