diff --git a/frontend/mobile-app/lib/features/auth/presentation/pages/sms_verify_page.dart b/frontend/mobile-app/lib/features/auth/presentation/pages/sms_verify_page.dart index 94e3d6bc..d0f2f0b4 100644 --- a/frontend/mobile-app/lib/features/auth/presentation/pages/sms_verify_page.dart +++ b/frontend/mobile-app/lib/features/auth/presentation/pages/sms_verify_page.dart @@ -232,13 +232,12 @@ class _SmsVerifyPageState extends ConsumerState { } void _onCodeChanged(int index, String value) { - // 每次输入都触发重建,以更新 showCursor 状态 - setState(() { - // 清除错误信息 - if (_errorMessage != null) { + // 清除错误信息 + if (_errorMessage != null) { + setState(() { _errorMessage = null; - } - }); + }); + } if (value.isNotEmpty) { // 输入了字符,移动到下一个 @@ -378,7 +377,6 @@ class _SmsVerifyPageState extends ConsumerState { keyboardType: TextInputType.number, textAlign: TextAlign.center, maxLength: 1, - showCursor: _controllers[index].text.isEmpty, // 空时显示光标,有内容时隐藏避免遮挡数字 inputFormatters: [ FilteringTextInputFormatter.digitsOnly, ], @@ -386,6 +384,8 @@ class _SmsVerifyPageState extends ConsumerState { counterText: '', filled: true, fillColor: const Color(0xFFF5F5F5), + contentPadding: EdgeInsets.zero, // 移除内边距,让数字完整居中显示 + isDense: true, border: OutlineInputBorder( borderRadius: BorderRadius.circular(12.r), borderSide: BorderSide.none,