如何用flutter在android中实现(完成)按钮



我想在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

最新更新