扑中的三元运算符 [英] ternary operator in flutter

查看:28
本文介绍了扑中的三元运算符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想基于布尔显示和隐藏HomeCategory对象.我目前有这个位置:

I want to show and hide HomeCategory objects based on a bool. I have this in place currently:

  _isOn ? HomeCategory(0, Icons.check, Colors.blue[800], "Check In", [Task(0, "Check In", true),]) : "",

但是它会引发错误,因为如果关闭它,我将传递一个空字符串.如何将其传递为空对象或将其隐藏?它是这样的列表:

However it throws an error because I am passing an empty string if its turned off. How can I pass it an empty object or hide it? It is a list like so:

   _isOn ? HomeCategory(0, Icons.check, Colors.blue[800], "Check In", [Task(0, "Check In", true),]) : "",
    HomeCategory(1, Icons.chat_bubble, Colors.red, "Forums", [ Task(1, "Questions", true),]),
    HomeCategory(2, Icons.star, Colors.blue[200], "Goals", [ Task(2, "Goals", true),]),
    HomeCategory(3, Icons.monetization_on, Colors.orange[700], "Budget", [ Task(3, "Budget", true),]),
    HomeCategory(4, Icons.shopping_basket, Colors.brown[300], "Shopping", [ Task(4, "Items", true),]),
    HomeCategory(5, Icons.calendar_today, Colors.purple[900], "My Day & Calendar", [ Task(4, "Events", false),]),
    HomeCategory(6, Icons.check_circle_outline, Colors.teal[700], "Check Out", [ Task(4, "Tasks", false),]),
    HomeCategory(7, Icons.dock, Colors.grey[700], "Connect", [ Task(4, "Tasks", false),]),
    HomeCategory(8, Icons.local_pharmacy, Colors.green, "My Medication", [ Task(4, "Tasks", false),]),
    HomeCategory(9, Icons.settings, Colors.yellow[800], "Settings", [ Task(4, "Tasks", false),]),

推荐答案

您可以执行以下操作:

_isOn ? HomeCategory() : SizedBox()

但是由于它位于 List< Widget> 中,所以 if 条件更干净:

But since it is in a List<Widget>, an if condition is cleaner :

if(_isOn)
    HomeCategory()

这篇关于扑中的三元运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆