flutter - 从其他页面返回后关闭模态底页
问题描述
我对模态底页有疑问。在我使用 Navigator.push 到另一个页面后,当我返回时,模态底部表仍然存在。我已经尝试使用FocusScope.of(context).focusedChild.unfocus();
但Navigator.pop(context);
仍然没有帮助。
模态底板代码:
floatingActionButton: FloatingActionButton(
backgroundColor: Colors.blueAccent,
child: Icon(
Icons.add,
color: Colors.white,
),
onPressed: () {
showModalBottomSheet(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.0),
),
context: context,
isScrollControlled: true,
builder: (context) => SingleChildScrollView(
child: Container(
padding: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom),
child: AddTask(), //open statefull widget
),
),
);
}),
添加任务代码:
Row(
children: <Widget>[
InkWell(
borderRadius: BorderRadius.circular(8),
onTap: () async {
FocusScope.of(context).focusedChild.unfocus();
await DatabaseService(uid: user.uid, taskId: taskId)
.updateTask(false, _titleValue, _notesValue,
UpdateChecklist().checklistInput, '', '', '');
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TaskDetail(
uid: user.uid,
taskId: taskId,
)),
);
},
child: Container(
width: 40,
height: 40,
decoration: BoxDecoration(
border: Border.all(color: Colors.blueAccent),
borderRadius: BorderRadius.circular(8)),
child: Icon(
Icons.add,
color: Colors.blueAccent,
),
),
),
当我返回页面时,有什么方法可以让模态底部工作表回到不聚焦状态?
解决方案
以编程方式关闭 showModalBottomSheet 是通过
Navigator.pop(context);
推荐阅读
- python - 确定 pandas 序列的元素是否包含不同序列的元素作为子字符串
- javascript - 如何从一个输入标签传递两个“名称”以在服务器中访问
- python - pandas 的 .query() 不接受我使用 like 'XXX%' 来表达 startwith 的表达
- cmake - 从 MSVC 2019 内置 CMake 配置英特尔编译器
- c# - 委托问题,名称在当前上下文中不存在?
- python - 仅从数据框中选择每个月的最后一周 - Python/Pandas
- llvm - 将现有函数的参数放在对 LLVM 函数传递中另一个函数的调用中
- javascript - 如何使用插值字符串设置 Formik 初始值?
- informatica-cloud - 如何处理 iics/informatica 云中的 clob 列
- c# - 装箱结构列表