TextField控制的 controller.addListener(()),只会发生这种情况。
代码段:
TextEditingController controller = new TextEditingController();
TextField field = new TextField(
controller: controller,
autofocus: true,
);
controller.addListener(() {
print("Pressed cancel button");
});
视频 Link
注意:在TextField中添加字符时,侦听器方法只会被调用。
答案 0 :(得分:1)
在与API级别23和像素与API 25一起使用时,Nexus 6p也存在相同的问题。
但是使用API28的Pixel不会发生此问题,使用API26的Nexus6P不会发生此问题。
使用了https://flutter.dev/docs/cookbook/forms/text-field-changes中的精确代码。
答案 1 :(得分:0)
我想这可能是抖动的缺陷,可能的解决方案是使用 onChanged()
TextField field = new TextField(
autofocus: true,
onChanged: (String value) {
print("Pressed clear button");
},
);
答案 2 :(得分:-1)
quarter
void clearField() {
print("c: clearField");
var newValue = textController.value.copyWith(
text: '',
selection: TextSelection.collapsed(offset: 0),
);
textController.value = newValue;
callApi('');
}
// and call it by :
child: TextField(
controller: textController,
autofocus: true,
decoration: InputDecoration(
suffixIcon: IconButton(
icon: Icon(Icons.close),
onPressed: clearField, // call
),
),
),
您可以查看此存储库并在本地构建它Github