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),
        );
      });
    });
  }
相关推荐
liulian09166 小时前
Flutter for OpenHarmony 跨平台开发:记事本功能实战指南
flutter
maaath6 小时前
【maaath】Flutter for OpenHarmony 学习答题应用实战开发
学习·flutter·华为·harmonyos
jiejiejiejie_6 小时前
Flutter for OpenHarmony 喝水提醒功能的实现
flutter
maaath6 小时前
【maaath】Flutter for OpenHarmony 实战:记账理财应用开发指南
flutter·华为·harmonyos
jiejiejiejie_6 小时前
Flutter for OpenHarmony 账单记录功能实战指南
flutter
千码君20167 小时前
flutter: 分享一下基于trae cn 构建的过程
java·vscode·flutter·kotlin·trae
MonkeyKing7 小时前
Flutter高级动画体系实战:从基础封装到自定义动画
flutter
MonkeyKing7 小时前
Flutter手势系统与冲突处理实战
flutter
maaath7 小时前
【maaath】Flutter for OpenHarmony 实战:构建跨平台房产租售应用
flutter·华为·harmonyos
liulian09167 小时前
Flutter for OpenHarmony 跨平台开发:图片浏览功能实战指南
flutter