问题描述:如下写法会导致IOS拼音输入发输入汉字时,点击选中汉字时前面的拼音不会被替代成汉字,例如输拼音ceshi选中'测试'汉字时,输入框里的文本是ceshi测试,不符合要求。
SearchBar(
text: _keyword ,
placeholder: "请输入",
showCleanButton: true,
onCleanEvent: () {
_keyword = '';
setState(){}
},
onChanged: (text) {
_keyword=text;
setState(){}
}
)
解决方案:
TextEditingController textEditingController = TextEditingController();
@override
void initState() {
super.initState();
textEditingController.addListener(() {
_keyword = textEditingController.text;
});
}
@override
void dispose() {
textEditingController.dispose();
super.dispose();
}
SearchBar(
textEditingController: textEditingController,
placeholder: "请输入",
showCleanButton: true,
onCleanEvent: () {
textEditingController.text = '';
},
onEndEditing: (text) {
}
),