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),
        );
      });
    });
  }
相关推荐
程序员Ctrl喵13 小时前
异步编程:Event Loop 与 Isolate 的深层博弈
开发语言·flutter
前端不太难14 小时前
Flutter 如何设计可长期维护的模块边界?
flutter
小蜜蜂嗡嗡15 小时前
flutter列表中实现置顶动画
flutter
始持16 小时前
第十二讲 风格与主题统一
前端·flutter
始持16 小时前
第十一讲 界面导航与路由管理
flutter·vibecoding
始持16 小时前
第十三讲 异步操作与异步构建
前端·flutter
新镜16 小时前
【Flutter】 视频视频源横向、竖向问题
flutter
黄林晴17 小时前
Compose Multiplatform 1.10 发布:统一 Preview、Navigation 3、Hot Reload 三箭齐发
android·flutter
Swift社区18 小时前
Flutter 应该按功能拆,还是按技术层拆?
flutter
肠胃炎18 小时前
树形选择器组件封装
前端·flutter