连续两个新行后如何将TextInputAction.newLine
更改为TextInputAction.done
,在选择了许多连续的新线路后,我需要退出新线路
一种解决方案是在Stateful
Widget中使用状态变量:
bool _done = false;
听编辑后的文本:
TextField(
onChanged(s) {
if (s.substring(s.length - 2) == "nn") setState(() => _done = true);
else setState(() => _done = false);
}
)
并相应地更改TextInputAction
:
TextField(
onChanged(s) {
if (s.substring(s.length - 2) == "nn") setState(() => _done = true);
else setState(() => _done = false);
},
textInputAction: _done ? TextInputAction.done : TextInputAction.newLine
)