我想在textField更改时实现搜索api,现在它可以工作任何问题,但我应该在我的android移动键盘中按下(DONE(按钮,我需要在(onCahnged(或任何其他按钮中做什么(完成(按钮,谢谢。。。
这是我的代码:这是当我用textField中的搜索词调用api时,它可以毫无问题地工作:
TextEditingController search = TextEditingController();
searchCat() async {
var res = await http.get(Config.url+"cat/"+search.text);
if(res.statusCode == 200){
var jsonObject = json.decode(res.body);
return jsonObject['result'];
}
}
这是我的文本字段:
child: TextField(
controller: search,
onChanged: (txt){
searchCat();
},
autofocus: false,
style: TextStyle(fontSize: 15.0, color: Colors.black),
decoration: InputDecoration(
filled: true,
fillColor: Colors.white,
hintText: 'Searching',
contentPadding:
const EdgeInsets.only(left: 14.0, bottom: 5.0, top: 5.0),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white),
borderRadius: BorderRadius.circular(10),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
borderRadius: BorderRadius.circular(10),
),
),
这个代码显示数据,正如我所说,它工作得很好,但当我按下键盘中的(完成(按钮时
Center(
child: FutureBuilder(
future: searchCat(),
builder: (context, snapshot){
if(snapshot.data != null){
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index){
return CatTile(
cid: snapshot.data[index]['id'],
img:snapshot.data[index]['img'],
name: snapshot.data[index]['name'],
desc: snapshot.data[index]['desc'],
);
},
);
}else{
return Center(child: CircularProgressIndicator(),);
}
},
提前感谢。。。。
完成按钮的作用是什么?我认为这会使TextField失去焦点=>因此我们可以玩CCD_ 1类。
请检查https://flutter.dev/docs/cookbook/forms/focus