没有为 Flutter 中的“选项”类型定义 setState() 的问题

问题描述 投票:0回答:2

我试图为我当前正在制作的项目添加下拉菜单,但我的代码遇到了问题。我正在按照 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 网站上的文档,但找不到与我当前面临的错误相关的内容。

flutter dart
2个回答
0
投票

您正在使用无状态小部件,您应该使用有状态小部件才能使用 setState


0
投票

setState 在 StatefulWidgets 中用来做一些触发构建方法再次调用的事情。尝试将您的 StatelessWidget 转换为 StatefulWidget。

© www.soinside.com 2019 - 2024. All rights reserved.