我的代码是这样写的,但是它给出了一个错误:
错误:无法将“列表”类型的值分配给“小部件”类型的变量。
Column(
children: [
Question(
questions[_questionIndex]['questionText'],
),
...(questions[_questionIndex]['answers'] as List<String>)
.map((answer) {
return Answer(_answerQuestion, answer);
}).toList()
],
)
答案 0 :(得分:1)
Dart 2.3引入了Spread运算符(…)
参考链接:https://medium.com/flutter-community/whats-new-in-dart-2-3-1a7050e2408d
var a = [0,1,2,3,4];
var b = [6,7,8,9];
var c = [...a,5,...b];
print(c); // prints: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
答案 1 :(得分:1)
Dart 2.3 带有 spread operator (...)
和 null-aware spread operator (...?)
,允许我们在集合中添加多个元素。
List<String> values1 = ['one', 'two', 'three'];
List<String> values2 = ['four', 'five', 'six'];
var output = [...values1,...values2];
print(output); // [one, two, three, four, five, six]
对于 Flutter,我们可以在列内使用这个
Column(
children: [
...values.map((value) {
return Text(value);
}),
],
),
输出:
答案 2 :(得分:0)
我已经解决了问题。我的flutter SDK尚未升级。运行flutter doctor
命令并整理丢失的更新。而且语法现在似乎可以正常工作。