flutter - 为什么单击“标题”时“onpressed”不起作用,但单击“leading”属性时起作用?
问题描述
我的目标是这个。单击标题属性时,我想更改其属性。
我附上了我面临的问题的 gif 图像。 代码演示
class _MyHomePageState extends State<MyHomePage> {
Icon _searchIcon = Icon(Icons.search, size: 40);
Icon _searchIcon2 = Icon(Icons.alarm, size: 40);
void _searchPressed() {
setState(() {
if (this._searchIcon.icon == Icons.search) {
this._searchIcon = _searchIcon2;
} else {
this._searchIcon = Icon(Icons.search);}});}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
leading: IconButton(
icon: _searchIcon,
onPressed: _searchPressed,
),
title: IconButton(
icon: _searchIcon,
onPressed: () => _searchPressed,),),);}}
解决方案
在你的标题中IconButton
,
代替
onPressed: () => _searchPressed
采用
onPressed: _searchPressed
或者
onPressed: () => _searchPressed()
推荐阅读
- python - 不工作:Spark 环境变量的编辑
- json - 通过 Google 脚本解析嵌套的 JSON
- azure-functions - Aggregates with Event Sourcing and CQRS
- javascript - Why Java script object is different than it's individual property?
- kubernetes - jupyterlab 的大使配置
- prolog - 如何更改正确单词的错误拼写?
- python - 如何解决 - ValueError:在 Python 中解包的值太多
- python - 使用参数(对象数组)从 python2 脚本调用 python3 方法并接收输出
- sql - 加入3表jdbc
- clojure - 通过选定的键连接两个地图向量并保留元素的顺序