如何限制Flutter中文本字段的大小?

TextField小部件似乎没有“限制”属性来限制可以键入的字符数。我如何强制只能在TextField小部件中提供一定数量的字符作为输入。我尝试查看装饰属性,并可能以某种方式设置限制,但这似乎也不起作用。我应该使用其他部件吗?

回答:

我必须在RSproute提到的内容上添加一个附加代码段。完整的代码在这里:

TextEditingController _controller = new TextEditingController();

String text = ""; // empty string to carry what was there before it

onChanged

int maxLength = ...

...

new TextField(

controller: _controller,

onChange: (String newVal) {

if(newVal.length <= maxLength){

text = newVal;

}else{

_controller.value = new TextEditingValue(

text: text,

selection: new TextSelection(

baseOffset: maxLength,

extentOffset: maxLength,

affinity: TextAffinity.downstream,

isDirectional: false

),

composing: new TextRange(

start: 0, end: maxLength

)

);

_controller.text = text;

}

}

);

以上是 如何限制Flutter中文本字段的大小? 的全部内容, 来源链接: utcz.com/qa/421877.html

回到顶部