背景

使用Visibility控制清理按钮显示隐藏,在设置Visibility状态时,会导致TextField焦点丢失使用AnimatedOpacity代替Visibility

光标丢失手动设置光标位置

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),
        );
      });
    });
  }

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注