我有一个带有 tpl 的组合框,我想限制用户不要输入超过 8 个字符。我怎样才能实现它,因为组合框没有enforceMaxLength,而maxLength只提供工具提示,但允许用户输入超过maxLength的字符。 https://fiddle.sencha.com/#view/editor&fiddle/1vam
最佳答案
Ext.form.field.ComboBox
源自Ext.form.field.Text
,因此对于 textfield
上可用的所有配置选项,您可以检查 combobox
是否确实必须以破坏性方式覆盖它们,或者它们是否仍在工作。其中大多数(如果不是全部)应该仍然可用,即使不是组合框文档的一部分。
正如用户 chrisuae 在评论中指出的那样,enforceMaxLength
仍在 combobox
中工作。这是因为 combobox
不会删除 maxLength 可用所需的两个完整部分中的任何一个,Ext.form.field.Base.fieldSubTpl
或Ext.form.field.Text.getSubTplData
.
您可能会在combobox
源代码中发现getSubTplData
已被覆盖,但 data = me.callParent([fieldData]);
行表示仍执行原始代码。
关于extjs - 限制用户输入超过 maxLength extjs Combobox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879739/