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),
        );
      });
    });
  }
相关推荐
早點睡3904 小时前
进阶实战 Flutter for OpenHarmony:Sliver 系列组件实战 - 折叠头部与吸顶效果系统
flutter
早點睡3904 小时前
Flutter for Harmony 跨平台开发实战:希尔伯特曲线——空间填充的无限递归
flutter
lqj_本人5 小时前
Flutter三方库适配OpenHarmony【apple_product_name】FlutterPlugin接口实现详解
flutter
lqj_本人6 小时前
Flutter三方库适配OpenHarmony【apple_product_name】插件注册与生命周期管理
flutter
早點睡3906 小时前
进阶实战 Flutter for OpenHarmony:AnimatedBuilder 组件实战 - 自定义动画系统
flutter
程序员老刘7 小时前
跨平台开发地图:React Native 0.84 强力发布,Hermes V1 登顶 | 2026年2月
flutter·客户端
松叶似针8 小时前
Flutter三方库适配OpenHarmony【doc_text】— .docx 解析全流程:从 ZIP 解压到 XML 提取
xml·flutter·harmonyos
lqj_本人9 小时前
Flutter三方库适配OpenHarmony【apple_product_name】MethodCallHandler消息处理机制
flutter
西西学代码9 小时前
Flutter---事件处理
flutter