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),
        );
      });
    });
  }
相关推荐
早點睡3903 小时前
基础入门 Flutter for OpenHarmony:Table 表格组件详解
flutter
lili-felicity6 小时前
进阶实战 Flutter for OpenHarmony:shared_preferences 第三方库实战
flutter
前端不太难6 小时前
Flutter 适合什么团队?RN / iOS 各自的边界在哪?
flutter·ios
键盘鼓手苏苏8 小时前
Flutter for OpenHarmony:git 纯 Dart 实现的 Git 操作库(在应用内实现版本控制) 深度解析与鸿蒙适配指南
开发语言·git·flutter·华为·rust·自动化·harmonyos
2501_9219308310 小时前
基础入门 Flutter for OpenHarmony:image_cropper 图片裁剪实战应用
flutter
lili-felicity10 小时前
进阶实战 Flutter for OpenHarmony:fluttertoast 第三方库实战 - 消息提示
flutter
2501_9219308311 小时前
基础入门 Flutter for OpenHarmony:TimePicker 时间选择器详解
flutter
哈__12 小时前
基础入门 Flutter for OpenHarmony:app_settings 系统设置跳转详解
flutter
键盘鼓手苏苏12 小时前
Flutter for OpenHarmony 实战:Envied — 环境变量与私钥安全守护者
开发语言·安全·flutter·华为·rust·harmonyos
2501_9219308312 小时前
基础入门 Flutter for OpenHarmony:RangeSlider 范围滑块组件详解
flutter