gpt4 book ai didi

flutter - 如何在三元运算符中使用多个语句时摆脱 'Avoid using unnecessary statements'

转载 作者:行者123 更新时间:2023-12-03 03:09:42 25 4
gpt4 key购买 nike

这就是我想做的:
检查列表是否包含'something',如果为true =>删除它=>添加'anything'=>打印列表,否则=>添加'something'=>打印列表

List<String> components = List<String>();

ListTile(
title: Text('Title'),
onTap: () {
components.contains('something')
? () {
components.removeWhere((item) => item == 'something');
components.add('anything');
}
: components.add('something');
print(components);
}
)

它运行得很好,并且onTap函数可以正常运行,但是在这里出现了蓝色的 curl 下划线:
? () {

它说“避免使用不必要的statement.dart(unnecessary_statements)”。我想要实现的目标有更好的方法吗?

最佳答案

正常的函数定义如下所示

myFunction(){
...
...
}

这只是一种声明而已。

要执行它们,您必须从somwhere像 myFunction()一样调用它。

同样,匿名函数的定义也一样。
() { //without name
..
..
}

因此要执行,您需要在末尾添加 ()

您只在 ?之后给出了函数定义。您必须通过在末尾添加 ()来调用该函数
ListTile(
title: Text('Title'),
onTap: () {
components.contains('something')
? () {
components.removeWhere((item) => item == 'something');
components.add('anything');
}() //TODO: Make it as function call
: components.add('something');
print(components);
},
)

关于flutter - 如何在三元运算符中使用多个语句时摆脱 'Avoid using unnecessary statements',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59528156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com