我有一个字符串列表,我想通过 map() 将其转换为卡片小部件列表,并希望在列小部件中呈现此卡片列表。我在“列子项”上收到上述错误。我没明白出什么问题了。谁能帮我?
这就是我的代码:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
final List <String> textData = ['Dase','two'];
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("App Test 1.1"),
actions: <Widget>[
IconButton(
icon: Icon(Icons.ac_unit),
tooltip: 'freeze me',
onPressed: () {},
)
],
),
body: Center(
child: Column(children: <Widget>[
Padding(
padding: EdgeInsets.all(20.0),
child: RaisedButton(
child: Text("Add Text"),
onPressed: () {},
)),
Column(
children: textData
.map(
(element) => Card(
margin: EdgeInsets.all(50.0),
child: Column(
children: <Widget>[
Text(element)
],
),
),
).toList,
),
]))),
);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的其他课程中它有效,但我找不到区别:
class Products extends StatelessWidget {
final List<String> products;
Products(this.products);
@override
Widget build(BuildContext context) {
return Column(
children: products
.map(
(element) => Card(
child: Column(
children: <Widget>[
Image.asset('assets/food.jpg'),
Text(element)
],
),
),
)
.toList(),
);
}
}
Run Code Online (Sandbox Code Playgroud)
).toList,\n
Run Code Online (Sandbox Code Playgroud)\n\n应该
\n\n).toList(),\n
Run Code Online (Sandbox Code Playgroud)\n\n错误信息解读:
\n\n'({growable: bool}) \xe2\x86\x92 List<Card>'
是一个函数类型,其中List
需要 a ,这表明传递了函数引用而不是函数调用的结果 - 这通常意味着缺少()
。
归档时间: |
|
查看次数: |
1356 次 |
最近记录: |