参数类型'Iterable<dynamic>'不能分配给参数类型"列表<Widget>"



大家好,我正在尝试映射代码中的字符串列表,但它给了我错误"无法将参数类型"Iterable"分配给参数类型"List"&";。我正试图在下面的图片中重现结果。这是下面的代码;

**quote.dart**
class Quote {
String? text;
String? author;



Quote({ required this.text,required this.author });
}

**main.dart**
void main() {
runApp(MaterialApp(home: QuoteList()));
}
class QuoteList extends StatefulWidget {
const QuoteList({Key? key}) : super(key: key);
@override
State<QuoteList> createState() => _QuoteListState();
}
class _QuoteListState extends State<QuoteList> {
@override
List<dynamic> quotes = [
//"Quote" is the the name of the class of the second dart file.
Quote(
author: "Eminem",
text:
"You better lose yourself in music the moment you own it never let it go"),
Quote(
author: "Walt Disney",
text: "The way to get started is to quit talking and begin doing."),
Quote(
author: "Mother Teresa",
text:
"Spread love everywhere you go. Let no one ever come to you without leaving happier")
//
//     "
//     ". -"
];


@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey[200],
appBar: AppBar(
title: Text("Awesome Killer Quotes",
style: TextStyle(
color: Colors.grey[700],
)),
centerTitle: true,
backgroundColor: Colors.yellowAccent[400],
),
body: Column(
children: quotes.map(children: quotes.map((quote) => Text('${quote.text} - 
${quote.author}')).toList(),
// (quote) => Text(quote.text + "-" + quote.author).toList(),
// ((quote) => quoteTemplate(quote).toList()),
),
// 
//return Text('>>'+quote.text+', '+quote.author);
),
);
}
}

如果有人能帮我,我将非常感谢。PS。错误在主数据文件中

代码的预期结果

保持简单的

解决方案:

Column(
children: quotes.map((quote) => Text('${quote.text} '
'- ${quote.author}')).toList()
);

所以试试这个

List<Quote> quotes = [
//"Quote" is the the name of the class of the second dart file.
Quote(
author: "Eminem",
text:
"You better lose yourself in music the moment you own it never let it go"),
Quote(
author: "Walt Disney",
text: "The way to get started is to quit talking and begin doing."),
Quote(
author: "Mother Teresa",
text:
"Spread love everywhere you go. Let no one ever come to you without leaving happier")
];

作为您的列表

然后你的小部件

return Scaffold(
backgroundColor: Colors.grey[200],
appBar: AppBar(
title: Text("Awesome Killer Quotes",
style: TextStyle(
color: Colors.grey[700],
)),
centerTitle: true,
backgroundColor: Colors.yellowAccent[400],
),
body: Column(
children: quotes.map((e)
=>Text('${e.text}')
).toList(),
),
);

相关内容

最新更新