【问题标题】:Restrict the user to type more than maxLength extjs Combobox限制用户输入超过 maxLength extjs Combobox
【发布时间】:2017-05-09 20:57:29
【问题描述】:

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

【问题讨论】:

  • 组合框在 6.2 版中确实有 enforceMaxLength,至少早在 4.1.1 版中。见修改小提琴here
  • 感谢 chrisuae,它运行良好。

标签: extjs combobox extjs4 extjs5 extjs6


【解决方案1】:

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]);这行意味着原始代码仍然被执行。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
  • 1970-01-01
  • 2011-05-09
  • 2016-05-26
  • 1970-01-01
相关资源
最近更新 更多