[英]ib/main.dart:49:24: Error: The operator '[]' isn't defined for the class 'Set<Map<String, Object>>'
import 'package:flutter/material.dart';
import './question.dart';
import './answer.dart';
void main() {
runApp(MyFirstApp());
}
class MyFirstApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _MyFirstAppState();
}
}
class _MyFirstAppState extends State<MyFirstApp> {
var _questionIndex = 0;
void _ansButtonPress() {
setState(() {
_questionIndex = _questionIndex + 1;
});
}
var questions = [
{
'questionText': 'What is your favorate Colour',
'answers': ['red', 'balck ', 'yellow', 'blue']
},
{
'questionText': 'What is your favorate Animal',
"answers": ['Lion', 'Chettah ', 'Leopard', 'Cat']
},
{
'questionText': 'What is your favorate Movie',
'answers': ['hai', 'hello ', 'hoe', 'are you']
}
];
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My first app '),
),
body: Column(
children: [
Question(
questions[_questionIndex]['questionText'],
),
Answer(_ansButtonPress),
Answer(_ansButtonPress),
Answer(_ansButtonPress),
],
),
),
);
}
}
终端显示这样
lib/main.dart:49:24:错误:未为 class 'Set<Map<String, Object>>' 定义运算符“[]”。 - 'Set' 来自 'dart:core'。 - “地图”来自“飞镖:核心”。 - “对象”来自“飞镖:核心”。 尝试将运算符更正为现有运算符,或定义“[]”运算符。 问题[_questionIndex]['questionText'], ^ 未能 package /Users/j3rry01/Documents/Flutter Lab/flutter basics /new_flutter. 命令 PhaseScriptExecution 失败,退出代码为非零注释:使用新的构建系统注释:计划注释:构建准备完成注释:并行构建目标警告:签名和功能的功能可能不正确,因为其权利使用占位符团队 ID。 为了解决这个问题,select 开发团队在 Runner 编辑器中。 (在项目“Runner”的目标“Runner”中)
我是初学者,对 dart 概念不太了解,我的 POV 上没有看到任何错误
从错误消息看来, questions
变量被视为Set
而不是List
。 尝试像这样显式设置其类型:
List<Map<String, dynamic>> questions = [
{
'questionText': 'What is your favorate Colour',
'answers': ['red', 'balck ', 'yellow', 'blue']
},
{
'questionText': 'What is your favorate Animal',
"answers": ['Lion', 'Chettah ', 'Leopard', 'Cat']
},
{
'questionText': 'What is your favorate Movie',
'answers': ['hai', 'hello ', 'hoe', 'are you']
}
];
此外,如果您不打算更改questions
变量的值,最好将其声明为final
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.