首页 > 解决方案 > 为什么单击“标题”时“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,),),);}}

标签: flutterflutter-layout

解决方案


在你的标题中IconButton

代替

onPressed: () => _searchPressed

采用

onPressed: _searchPressed

或者

onPressed: () => _searchPressed()

推荐阅读