如何在 IconButton Flutter 中显示正确的图标

How to show correct Icon in IconButton Flutter

我在 AppBar 中有一个按钮,我想在点击时更改它的图标,但没有任何效果。 如果你检查onPressed里面的图标类型,那么这个条件是根据应该是哪个按钮触发的,但是不显示。

bool toggle = true;
late Widget searchWidget = IconButton(
  onPressed: (){
    setState(() {
      toggle = !toggle;
    });
  },
  icon: toggle ? const Icon(Icons.search) : const Icon(Icons.cancel),
);    
@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      actions: [
        searchWidget,
        ],
      title: searchBar
    ),
    body: displayBody,
    bottomNavigationBar: _bottomMenu,
  );
}

searchWidget 更改为获取更新的方法 UI,

 Widget searchWidget() => IconButton(
        onPressed: () {
          setState(() {
            toggle = !toggle;
          });
        },
        icon: toggle ? const Icon(Icons.search) : const Icon(Icons.cancel),
      );

并使用喜欢

  actions: [
          searchWidget(),
        ],