提问人:F F 提问时间:10/23/2023 更新时间:10/23/2023 访问量:50
如何在 flutter 中不选择任何文本的情况下将焦点放在 TextField 上?
How can I give focus to a TextField without any text being selected in flutter?
问:
当我对包含任何文本的 TextField 执行 requestFocus() 时,该文本将被选中。
我想要的是将光标放在末尾,而不选择任何文本。
如何在 flutter 中不选择任何文本的情况下将焦点放在 TextField 上?
图像
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
MyApp({Key? key}) : super(key: key);
final focusNode1 = FocusNode();
final controller1 = TextEditingController()..text = '111';
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Material(
child: Column(
children: [
TextButton(
onPressed: () {
focusNode1.requestFocus();
},
child: Text("SetFocus"),
),
TextField(
focusNode: focusNode1,
controller: controller1,
),
],
),
),
);
}
}
我可以通过以下代码实现绘制后光标到末尾。
但是,有一会儿,我可以看到正在选择的文本。
难道没有更好的方法吗?
focusNode1.requestFocus();
WidgetsBinding.instance.addPostFrameCallback((_) {
controller1.selection = TextSelection.collapsed(offset: controller1.text.length);
});
答: 暂无答案
评论