flutter TextField 控制焦点位置

背景

使用Visibility来控制清理按钮的显示和隐藏,在设置Visibility的状态时,会导致TextField焦点丢失。使用AnimatedOpacity代替Visibility

在光标丢失后手动设置光标位置

dart 复制代码
void _setFocus({int? baseOffset}) {
    final int currentPosition =
        baseOffset ?? textController.selection.baseOffset;
    Future.delayed(Duration(milliseconds: 100), () {
      // Move focus to the end of the current text
      focusNode.requestFocus();
      Future.delayed(Duration(milliseconds: 100), () {
        // Save the current cursor position
        textController.selection = TextSelection.fromPosition(
          TextPosition(offset: currentPosition),
        );
      });
    });
  }
相关推荐
Trust yourself2432 小时前
Flutter开发中遇到下载Flutter SDK速度缓慢问题
flutter
始持4 小时前
第一讲 Flutter核心思想与基础布局
flutter
Trust yourself2435 小时前
Flutter增量编译
flutter
ITKEY_7 小时前
Flutter开发的App 如何重命名?
flutter
2501_915921437 小时前
从构建到 IPA 保护,Flutter iOS 包如何做混淆与安全处理
android·安全·flutter·ios·小程序·uni-app·iphone
Trust yourself2437 小时前
Flutter应用创建到打包需要注意的几个关键步骤
flutter
SoaringHeart7 小时前
Flutter进阶|源码修改:给 DecorationImage 源码添加偏移量
前端·flutter
zhangkai1 天前
Flutter的状态管理工具
flutter
前端Hardy1 天前
Flutter vs React Native vs HarmonyOS:谁更适合下一代跨端?2026 年技术选型终极指南
前端·flutter·react native