问题描述
环境
Flutter 2.0
,使用 keyboard_action
包
问题
我在键盘上放了一个工具栏。当在文本字段中输入 4 个或更多数字时,我想让工具栏颜色为蓝色。就像示例图像一样。但是,如果不关闭键盘,颜色不会改变。
即使我输入了 4 位以上的数字,我也必须取下键盘并让它重新出现才能看到蓝色工具栏。
如果我输入的数字超过四个,我只想改变工具栏的颜色。 无需关闭键盘并使其再次出现。
我尝试了什么
控制器连接到现场
textController.addListener(() {
if (textController.text.length > 4) {
setState(() {
isValid = true;
});
} else {
setState(() {
isValid = false;
});
}
});
键盘工具栏
(...)
body: KeyboardActions(
config: isValid ?
PhoneValidKeyboardBar(
focusNode: focusNode,text: '인증번호 전송',).phoneValidKeyConfig(context)//this is blue tool bar
: PhoneInvalidKeyboardBar(
focusNode: focusNode,).phoneInvalidKeyConfig(context),//this is grey tool bar
(...)
我也尝试过只使用一个“配置”。这是一种通过根据 isValid 值运行 LayoutBuilder 来更改颜色的方法。但是失败了。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)