fix: 优化验证码输入框光标显示逻辑
- 空输入框时显示光标,让用户知道当前输入位置 - 输入数字后隐藏光标,避免光标占用空间导致数字显示不全 - 每次输入触发setState确保showCursor状态正确更新 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c1b8a441b6
commit
979780dd7e
|
|
@ -232,12 +232,13 @@ class _SmsVerifyPageState extends ConsumerState<SmsVerifyPage> {
|
|||
}
|
||||
|
||||
void _onCodeChanged(int index, String value) {
|
||||
// 清除错误信息
|
||||
if (_errorMessage != null) {
|
||||
setState(() {
|
||||
// 每次输入都触发重建,以更新 showCursor 状态
|
||||
setState(() {
|
||||
// 清除错误信息
|
||||
if (_errorMessage != null) {
|
||||
_errorMessage = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (value.isNotEmpty) {
|
||||
// 输入了字符,移动到下一个
|
||||
|
|
@ -377,7 +378,7 @@ class _SmsVerifyPageState extends ConsumerState<SmsVerifyPage> {
|
|||
keyboardType: TextInputType.number,
|
||||
textAlign: TextAlign.center,
|
||||
maxLength: 1,
|
||||
showCursor: false, // 隐藏光标,避免光标影响数字显示位置
|
||||
showCursor: _controllers[index].text.isEmpty, // 空时显示光标,有内容时隐藏避免遮挡数字
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.digitsOnly,
|
||||
],
|
||||
|
|
|
|||
Loading…
Reference in New Issue