gpt4 book ai didi

flutter - 如何在 SearchDelegate 中使用 setState

转载 作者:IT王子 更新时间:2023-10-29 07:19:27 29 4
gpt4 key购买 nike

我想通过添加带有一些单选按钮和其他小部件的表单来对搜索结果添加更多过滤器。文档指出 Radio 不保持状态,应该调用父级的 setState onChange 方法来重建小部件。调用 showModalBottomSheet 后将显示表单。查看 search.dart 看起来 setState 仅在查询更改时在内部调用

我做了什么假设没有这样的方法,setState,我重新显示对话,调用 Navigation.pop(context),然后调用 showModalBottomSheet。单选按钮现在可以在 onChanged 上更新值,但是重新显示对话框的转换看起来很难看(每次值更改时都会滑动动画)。

是否可以在 searchDelegate 中使用 setState 以及如何使用?

最佳答案

@George 已经提供了解决方案,但这里是使用 SearchDelegate 时的完整示例:

class DataSearch extends SearchDelegate<String> {
bool _isItemSelected = true;

//...rest of the @override methods

@override
Widget buildSuggestions(BuildContext context) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return CheckboxListTile(
title: const Text('Item'),
value: _isItemSelected,
onChanged: (bool newValue) {
setState(() {
_isItemSelected = newValue;
});
},
);
});
}
}

关于flutter - 如何在 SearchDelegate 中使用 setState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56321440/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com