赞
踩
第一步,给textfield设置输入法则:
inputFormatters: [ WhitelistingTextInputFormatter(RegExp( "[a-zA-Z]|[\u4e00-\u9fa5]|[0-9]")), //只能输入汉字或者字母或数字 LengthLimitingTextInputFormatter(maxLength),//最大长度 ],
第二步,动态修改最大字长:
onChanged: (value) { _changeMaxLimit(value); },
/// 改字数限制,每输入一个中文字符,要减1。 /// 字符要求:10个汉字或20个英文 void _changeMaxLimit(String value) { maxLength = 20; for (int i = 0; i < value.length; i++) { if (value.codeUnitAt(i) > 122) { maxLength--; } } setState(() {}); }
我这里简略写了关键部分,关于maxLength的初始化,textfield别的参数设置,大家还请自行解决。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。