如何实现branch_id过滤:仅显示R002,输入R001时弹出错误弹窗
实现branch_id过滤逻辑及错误弹窗触发方案
1. 过滤数据显示逻辑
在获取或渲染数据的环节,添加条件筛选,仅保留branch_id为R002的数据:
// 假设你的原始数据源为List<Map<String, dynamic>>类型的dataList final filteredData = dataList.where((item) => item['branch_id'] == 'R002').toList(); // 后续使用filteredData来渲染列表或展示内容
2. 输入判断与弹窗触发
当用户输入branch_id后,加入判断逻辑,若输入值为R001,直接调用你提供的错误弹窗方法:
// 假设用户输入的branch_id存储在inputBranchId变量中 if (inputBranchId == 'R001') { await _showDialogError(); }
完整错误弹窗实现代码
Future _showDialogError() async { return showDialog( context: context, builder: (BuildContext context) { return AlertDialog( title: const Text('Data Article Tidak Ada'), content: const Text('Pastikan Nomor Delivery Benar'), actions: [ TextButton( onPressed: () => Navigator.pushNamed(context, '/add-item-bdg'), child: const Text('OK'), ), ], ); }, ); }
注意事项
- 确保调用
_showDialogError()时context处于可用状态(比如在StatefulWidget的State类中执行)。 - 若数据来自接口请求,也可以在后端直接过滤返回
branch_id为R002的数据,减少前端处理开销。
内容的提问来源于stack exchange,提问作者Af Ridwan
相关产品推荐
相关产品推荐

