限制用户输入超过 maxLength extjs Combobox

Restrict the user to type more than maxLength extjs Combobox

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

Ext.form.field.ComboBox derives from Ext.form.field.Text,因此对于 textfield 上可用的所有配置选项,您可以检查 combobox 是否真的必须以中断的方式覆盖它们,或者它们是否仍在工作.即使不是组合框文档的一部分,它们中的大部分(如果不是全部)应该仍然可用。

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

你可能会发现在combobox源代码中getSubTplData被覆盖了,但是data = me.callParent([fieldData]);行意味着仍然执行原始代码