extjs - 限制用户输入超过 maxLength extjs Combobox

标签 extjs combobox extjs4 extjs5 extjs6

我有一个带有 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.fieldSubTplExt.form.field.Text.getSubTplData .

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

关于extjs - 限制用户输入超过 maxLength extjs Combobox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879739/

相关文章:

c# - 在组合上显示年份

Ext.Ajax.request 中的 javascript 范围问题

javascript - 使用数据 URI 将多个文件下载到一个 Zip 文件中

UBUNTU:安装语法错误: "("意外

c# - SelectedIndexChanged不触发ComboBox

combobox - MFC 应用程序中的组合框

javascript - sencha/javascript - 如何从 tpl 模板中调用函数

javascript - Sencha 中的树面板复选框

json - ExtJS 4 MVC,获取复选框值整数而不是 bool 值

javascript - ExtJS:使用图表构建应用程序测试失败