gpt4 book ai didi

dart - 以编程方式关注 InputField 并打开键盘

转载 作者:IT老高 更新时间:2023-10-28 12:38:20 24 4
gpt4 key购买 nike

我有一种情况需要以编程方式关注 InputField (例如响应按钮按下)。

我正在使用 Focus.moveTo功能;但是,即使 InputField 已获得焦点(出现闪烁的光标),键盘也不会出现。

似乎最好的解决方案是调用 RequestKeyboard() _InputFieldState 中的函数,但这是私有(private)的。

最好的方法是什么?

这是一个显示工作流程的代码示例:

class InputFieldWrapper extends StatefulWidget {

@override
_InputFieldWrapperState createState() => new _InputFieldWrapperState();
}


class _InputFieldWrapperState extends State<InputFieldWrapper> {

InputValue _currentInput = new InputValue(text: 'hello');

// GlobalKey for the InputField so we can focus on it
GlobalKey<EditableTextState> _inputKey = new GlobalKey<EditableTextState>();

@override
Widget build(BuildContext context) {
return new Column(
children: [
// Button that should focus on the InputField when pressed
new IconButton(
icon: new Icon(Icons.message),
onPressed: () {
Focus.moveTo(_inputKey);
},
),
// InputField that should be focused when pressing the Button
new InputField(
value: _currentInput,
key: _inputKey,
onChanged: (InputValue input) {
setState(() {
_currentInput = input;
});
}
),
],
);
}
}

最佳答案

这被确定为一个错误,正在 #7985 进行跟踪.

关于dart - 以编程方式关注 InputField 并打开键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42122236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com