Flutter:IconButton的条件语句不起作用

zz2j4svz  于 2023-04-07  发布在  Flutter
关注(0)|答案(2)|浏览(186)

我只想让我的iconButton显示我的行是否有更多信息。正确的编码方法是什么?我的if上有红色的错误标记。

if(item.info != ""){
                          child: IconButton(
                          icon:
                          const Icon(Icons.info_outline_rounded),
                               onPressed: () {
                      
                                 Navigator.push(
                                   context,
                                   MaterialPageRoute(
                                   builder: (context) => const Page2()));
                               }, //onPressed
                          ), //IconButton
                 }, //end if statement
     ), //Center
x8diyxa7

x8diyxa71#

Center(
  child: item.info != ""
      ? IconButton(
          icon: const Icon(Icons.info_outline_rounded),
          onPressed: () {
            Navigator.push(context,
                MaterialPageRoute(builder: (context) => const Page2()));
          }, //onPressed
        )
      : Container(),
)

或使用“可见性”构件

Visibility(
    visible: item.info != "",
    child: IconButton(
      icon: const Icon(Icons.info_outline_rounded),
      onPressed: () {
        Navigator.push(context,
            MaterialPageRoute(builder: (context) => const Page2()));
      }, //onPressed
    ))
dz6r00yl

dz6r00yl2#

如果你不想在条件为false时添加不必要的小部件,你可以试试这个

if (item.info != "")
              Center(
                  child: IconButton(
                icon: const Icon(Icons.info_outline_rounded),
                onPressed: () {
                  Navigator.push(context,
                      MaterialPageRoute(builder: (context) => const Page2()));
                }, //onPressed
              )),

如果condition为false,则不会呈现任何小部件。

相关问题