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),
        );
      });
    });
  }
相关推荐
啥都想学点43 分钟前
第12天:flutter中的自定义类的介绍
flutter
yangzheui2 小时前
使用vscode开发flutter项目环境配置
ide·vscode·flutter
天意__3 小时前
鸿蒙(ArkTS)与Flutter(Dart)开发语法全面对比
flutter·华为·harmonyos·arkts·dart·arkui
眼眸流转3 小时前
Flutter学习笔记(三)
flutter·dart
weixin_443478514 小时前
flutter组件学习之Flex / Expanded弹性布局组件
javascript·学习·flutter
LawrenceLan4 小时前
38.Flutter 零基础入门(三十八):网络请求实战 http、dio —— 获取列表与刷新 UI
开发语言·前端·flutter·dart
ITKEY_4 小时前
macOS flutter开发环境之cocoapods
flutter·macos·cocoapods
前端不太难4 小时前
Flutter / iOS 迁移鸿蒙 ArkUI 的真实成本
flutter·ios·harmonyos
lpfasd1235 小时前
Flutter 远程构建全攻略:告别本地打包,GitHub Actions、Gitee Go 与 MobAI 三方案详解
flutter·gitee·github