限制用户键入超过maxLength extjs组合框

时间:2017-05-09 20:57:29

标签: extjs combobox extjs4 extjs5 extjs6

我有一个带有tpl的组合框我想限制用户不要输入超过8个字符。我如何实现它,因为组合框没有enforceMaxLength,maxLength只提供工具提示但允许用户输入的字符多于maxLength。 https://fiddle.sencha.com/#view/editor&fiddle/1vam

1 个答案:

答案 0 :(得分:3)

Ext.form.field.ComboBox派生自Ext.form.field.Text,因此对于textfield上提供的所有配置选项,您可以检查combobox是否真的必须以破解方式覆盖它们,或者他们是否还在工作即使不是全部,大多数都应该仍然可用,即使它们不是组合框文档的一部分。

正如用户chrisuae已在评论中指出的那样,enforceMaxLength仍然在combobox中工作。这是因为combobox没有删除任何完整的maxLength可用的部分,Ext.form.field.Base.fieldSubTplExt.form.field.Text.getSubTplData

您可以在combobox源代码中找到getSubTplData已被覆盖,但行data = me.callParent([fieldData]);表示原始代码仍在执行。