如何解决Flutter 3(Mac M1)中的List字面量类型混淆报错?
Flutter List/Map字面量类型混淆问题解决
错误根源分析
你的代码存在两处语法错误,导致Dart无法正确识别字面量类型:
- Map条目格式错误:
'questionText : what is your favorite color?'将键和值合并成了单个字符串,不符合Map键: 值的键值对格式,Dart无法区分这是Map条目还是Set元素。 - 答案列表元素类型错误:
{'Black'}是Set字面量,若仅需存储字符串选项,无需用大括号包裹,否则会与Map的结构产生混淆。
修正后的代码
var questions = [ { 'questionText': 'what is your favorite color?', 'answer': [ 'Black', 'Red', 'Green', 'Blue', 'White', ], } ];
额外说明
如果需要每个答案是带属性的Map(比如后续扩展选项ID等),需写成标准的键值对格式,示例如下:
var questions = [ { 'questionText': 'what is your favorite color?', 'answer': [ {'text': 'Black', 'id': 1}, {'text': 'Red', 'id': 2}, {'text': 'Green', 'id': 3}, {'text': 'Blue', 'id': 4}, {'text': 'White', 'id': 5}, ], } ];
内容的提问来源于stack exchange,提问作者Lgoat
相关产品推荐
相关产品推荐

