【发布时间】:2021-07-29 17:08:26
【问题描述】:
这是我的代码,我使用的是 textformfield。这是用于 otp 输入的,所以每当用户单击清除按钮时,我都想专注于前一个文本字段。
TextFormField(
controller: controller,
autofocus: true,
focusNode: focusNod,
validator: (String value) {
if (value.isEmpty) {
return "";
} else {
setState(() {
otp = one.text + two.text + three.text +
four.text;
print("otp : " + otp.toString());
});
return null;
}
},
onChanged: (String number) {
if (number.isNotEmpty) {
focus.requestFocus();
}
navigation();
},
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
LengthLimitingTextInputFormatter(1)
],
style: TextStyle(color: Colors.white),
decoration: InputDecoration(
helperText: '',
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide(color: Colors.green)),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide(color: Colors.white)),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide(color: Colors.white)),
focusedErrorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide(color: Colors.white)),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide(color: Colors.white)),
),
textInputAction: action,
cursorColor: Color(0xFFFFFFFF),
),
【问题讨论】: