我试图为我当前正在制作的项目添加下拉菜单,但我的代码遇到了问题。我正在按照 YouTube 上的教程构建一个简单的教程,但遇到了以下错误; “没有为类型‘Options’定义方法‘setState’。:21”
代码如下:
import 'package:flutter/material.dart';
class Options extends StatelessWidget
{
const Options({Key? key}) : super(key: key);
@override
Widget build(BuildContext context)
{
List<String> ratings = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];
String? selectedRating = '1';
return Container(
child: DropdownButton<String>(
value: selectedRating,
items: ratings
.map((item) => DropdownMenuItem<String>(
value: item,
child: Text(item, style: const TextStyle(fontSize: 24)),
))
.toList(),
onChanged: (item) => setState(() => selectedRating = item),
),
);
}
}
我正在查看 Flutter 网站上的文档,但找不到与我当前面临的错误相关的内容。
您正在使用无状态小部件,您应该使用有状态小部件才能使用 setState
setState 在 StatefulWidgets 中用来做一些触发构建方法再次调用的事情。尝试将您的 StatelessWidget 转换为 StatefulWidget。