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),
        );
      });
    });
  }
相关推荐
不爱吃糖的程序媛11 小时前
Flutter OH Engine构建指导
flutter
小蜜蜂嗡嗡13 小时前
flutter实现付费解锁内容的遮挡
android·flutter
tangweiguo0305198716 小时前
Flutter iOS 调试利器:idevicesyslog 从入门到精通
flutter
tangweiguo0305198718 小时前
Flutter 异常捕获与处理:从入门到生产实践
flutter
不爱吃糖的程序媛19 小时前
已有 Flutter 应用适配鸿蒙平台指导文档
flutter·华为·harmonyos
weixin_4434785119 小时前
flutter组件学习之卡片与列表
javascript·学习·flutter
不爱吃糖的程序媛20 小时前
Flutter-OH 升级指导
flutter
恋猫de小郭1 天前
Android 禁止侧载将正式实施,需要等待 24 小时冷静期
android·flutter·harmonyos
FFF-X1 天前
解决 Flutter Gradle 下载报错:修改默认 distributionUrl
flutter
程序员Ctrl喵2 天前
异步编程:Event Loop 与 Isolate 的深层博弈
开发语言·flutter