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),
        );
      });
    });
  }
相关推荐
我想吃辣条6 小时前
flutter mapbox_maps_flutter 应用不支持 16 KB
flutter
Aftery的博客14 小时前
flutter项目打包macOS桌面程序dmg
flutter·macos
庞哈哈1213814 小时前
Flutter 仿网易云音乐播放器:唱片旋转 + 歌词滚动实现记录
flutter
心随雨下14 小时前
Flutter中新手需要掌握的几种Widget
android·flutter·ios
weixin_4387321014 小时前
Flutter 开发环境安装
flutter
monika_yu14 小时前
关于flutter插件的存储位置问题
flutter
程序员老刘·14 小时前
2025年Flutter状态管理新趋势:AI友好度成为技术选型第一标准
flutter·ai编程·跨平台开发·客户端开发
路很长OoO1 天前
Flutter 插件开发实战:桥接原生 SDK
前端·flutter·harmonyos