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),
        );
      });
    });
  }
相关推荐
ak啊6 小时前
Dart 基础教程
flutter·dart
早起的年轻人6 小时前
Flutter中如何判断一个计算任务是否耗时?
flutter
pengyu7 小时前
【Flutter 状态管理 - 四】 | setState的工作机制探秘
android·flutter·dart
环信即时通讯云8 小时前
实战|使用环信Flutter SDK构建鸿蒙HarmonyOS应用及推送配置
flutter·华为·harmonyos
亚洲小炫风11 小时前
Melos 发布pub.dev
flutter·pub.dev
东东爱编码12 小时前
一路磕磕绊绊解决flutter doctor 报错CocoaPods not installed
flutter·xcode·cocoapods
louisgeek13 小时前
Flutter 简介
flutter
JarvanMo1 天前
关于Flutter架构的小小探讨
前端·flutter
顾林海1 天前
Flutter 图标和按钮组件
android·开发语言·前端·flutter·面试