你好我新的 dart 语言,有人可以帮助我写这个条件更好,它的工作,但它是很多重复,我觉得有一个更好的方式来写它:
if (var1 != null || var2 != null || var3 != null || var4 != null || var5 != null){ ShowMyWidget }
谢谢您。
kmbjn2e31#
我不会检查所有这些变量,而是将它们作为小部件的可选参数。如果这样做,您只需在小部件内部使用null安全检查它们是否为null,无论何时您实际需要它们。
class TestWidget extends StatelessWidget { final String? testPar1; final String? testPar2; final String? testPar3; final String? testPar4; const TestWidget({ this.testPar1, this.testPar2, this.testPar3, this.testPar4, Key? key, }) : super(key: key); @override Widget build(BuildContext context) { return Column( children: [ Text(testPar1 ?? 'nope'), Text(testPar2 ?? 'nope'), Text(testPar3 ?? 'nope'), Text(testPar4 ?? 'nope'), ], ); } }
请记住,你做这件事的方式并没有错。
ddarikpa2#
如果您确实需要,可以执行以下操作:
if ([var1, var2, var3, var4, var5].any((x) => x != null)) { ShowMyWidget(); }
aemubtdh3#
好的,谢谢你的回答,我再解释一下我的目标:我有一个详细信息页面,可以应用程序与许多自定义小部件,我想检查我的小部件内的变量是否为空,以显示或隐藏它。My app screenshot因此,在这里举个例子,我想检查是否预订链接之一不为空,以显示标题。
if (link1 != null || link2 != null || link3 != null || link4 != null || var5 != null){ ShowMyTitle }
nwnhqdif4#
if (![var1, var2, var3, var4, var5].contains(null)){ ShowMyWidget }
4条答案
按热度按时间kmbjn2e31#
我不会检查所有这些变量,而是将它们作为小部件的可选参数。如果这样做,您只需在小部件内部使用null安全检查它们是否为null,无论何时您实际需要它们。
请记住,你做这件事的方式并没有错。
ddarikpa2#
如果您确实需要,可以执行以下操作:
aemubtdh3#
好的,谢谢你的回答,我再解释一下我的目标:我有一个详细信息页面,可以应用程序与许多自定义小部件,我想检查我的小部件内的变量是否为空,以显示或隐藏它。
My app screenshot
因此,在这里举个例子,我想检查是否预订链接之一不为空,以显示标题。
nwnhqdif4#