如何在 Flutter 中当变量为真时显示列?
How to display a column when a variable is true in Flutter?
我一直收到 res is not defined
这个错误,所以我想弄清楚如何 运行 像在 js 中那样定义 res 之后的列代码,你可以 {res && (code)}
。
Column(
children: res['rooms'].map((r) => Card(
'name',
'${r['messages'][r['messages'].length - 1]['content']}',
'${r['_id']}'
)),
),
您可以检查您的 res
变量是否等于 null
。
这是针对您的问题的非空方法,但您应该检查以将项目迁移到空安全以避免所有这些空检查。
res == null
? Column(
children: res['rooms'].map((r) => Card(
'name',
'${r['messages'][r['messages'].length - 1]['content']}',
'${r['_id']}')),
)
: Container(),
如果表达式中有一个大的小部件,有时很难阅读三元表达式。它还要求您提供一个“其他”小部件。
我用扩展运算符来解决这个问题,用一个 if 语句
Column(
children: <Widget>[
if (res != null)
...res.map((r) => Card(
'name',
'${r['messages'][r['messages'].length - 1]['content']}',
'${r['_id']}')),
],
)
像这样简单使用三元登录-
Container(
child: res != null
? Column(
children: []
)
: SizedBox() //Use SizedBox instead of Container for better efficiency
)
并在填充“res”后再次更新 UI。
我一直收到 res is not defined
这个错误,所以我想弄清楚如何 运行 像在 js 中那样定义 res 之后的列代码,你可以 {res && (code)}
。
Column(
children: res['rooms'].map((r) => Card(
'name',
'${r['messages'][r['messages'].length - 1]['content']}',
'${r['_id']}'
)),
),
您可以检查您的 res
变量是否等于 null
。
这是针对您的问题的非空方法,但您应该检查以将项目迁移到空安全以避免所有这些空检查。
res == null
? Column(
children: res['rooms'].map((r) => Card(
'name',
'${r['messages'][r['messages'].length - 1]['content']}',
'${r['_id']}')),
)
: Container(),
如果表达式中有一个大的小部件,有时很难阅读三元表达式。它还要求您提供一个“其他”小部件。
我用扩展运算符来解决这个问题,用一个 if 语句
Column(
children: <Widget>[
if (res != null)
...res.map((r) => Card(
'name',
'${r['messages'][r['messages'].length - 1]['content']}',
'${r['_id']}')),
],
)
像这样简单使用三元登录-
Container(
child: res != null
? Column(
children: []
)
: SizedBox() //Use SizedBox instead of Container for better efficiency
)
并在填充“res”后再次更新 UI。