Flutter: TextField

TextField(
      decoration: InputDecoration(
          border: OutlineInputBorder(
              borderRadius: BorderRadius.all(Radius.circular(30))),
          prefixIcon: Icon(Icons.search)
        ),
);

 

功能:点击其他区域时TextField失去focus

实现:可以在Scaffold外面套上一个GestureDetector这样点击时触发unfocus事件

方法1:

GestureDetector(
      onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
      child: Scaffold(
        appBar: AppBar(
          title: Text('My App'),
        ),
        body: Body(),
      ),
 );

方法2:

GestureDetector(
      onTap: () => FocusScope.of(context).requestFocus(FocusNode()),
      child: Scaffold(
        appBar: AppBar(
          title: Text('My App'),
        ),
        body: Body(),
      ),
 );

 

posted @ 2022-04-25 01:02  小白冲冲  阅读(90)  评论(0编辑  收藏  举报