使用 Sencha GXT 时设置 maxLength

Setting maxLength when using Sencha GXT

我正在使用 Sencha GXT 3.1.1 将其与 GWT 一起使用。现在我应该使用 HTML.

maxLength 属性来限制 TextFields 的大小

首先,我还没有发现在这个 class 中使用 setMaxLength() 方法直接这样做的可能性。

任何人都可以帮助如何使用 Sencha GXT classes 中的 maxlength 属性吗?

我认为解决这个问题的最好方法是使用验证器。

myTextField.addValidator(new MaxLengthValidator(3));

此验证器将检查 TextField 的值是否包含三个以上的字母。如果超过三个字母,将显示错误。

有办法,但有点hack:

textField.getCell()
    .getAppearance()
    .getInputElement(textField.getElement())
    .setAttribute("maxLength", "3");

您还可以执行以下操作:

InputElement inputElement = textField.getElement()
        .select("input")
        .getItem(0)
        .cast();
inputElement.setMaxLength(valueMaxLength);