Flutter项目搜索按钮点击后DataTable无法拉取数据问题求助
问题根因
你的FutureBuilder监听的是ProductsMainController的mainFuture字段,但搜索触发时只更新了productsFuture,没有同步更新mainFuture的值,导致列表不会触发重绘、也不会加载新的搜索结果。
修复步骤
- 修改
ProductsMainController中的getProducts方法,同步更新mainFuture:
getProducts() { productsFuture.value = searchProducts(""); // 新增这一行,同步更新mainFuture mainFuture.value = Future.wait([productsFuture.value]); }
- 修改
ProductsMainController中的getSearchedProducts方法,同步更新mainFuture:
getSearchedProducts(String searchText) { productsFuture.value = searchProducts(searchText); // 新增这一行,同步更新mainFuture mainFuture.value = Future.wait([productsFuture.value]); update(["datatable"]); }
修改完成后,原本注释的分页功能取消注释后也可以正常运行,不需要额外调整。
额外排查点
确认搜索按钮的点击回调中,正确获取了搜索框的输入内容,并且调用了Get.find<ProductsMainController>().getSearchedProducts(输入的搜索内容)方法。
内容的提问来源于stack exchange,提问作者emirşah erden
相关产品推荐
相关产品推荐

