如何在Flutter中使用像FilterChip这样的菜单

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

有什么办法可以达到下面的效果吗?

芯片-材料设计3

我尝试使用下拉菜单,但失败了

这是我的代码(flutter 3.3,useMaterial3: true):

ps:原谅我丑陋的英语..

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final List<String> list = ['flutter', 'material', 'dart', 'django'];
  String selectedValue = 'flutter';
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: DropdownButton(
          value: selectedValue,
          // icon: Container(),
          underline: Container(),
          selectedItemBuilder: (context) => list
              .map((e) => FilterChip(
                    showCheckmark: true,
                    selected: e == selectedValue,
                    label: Text(e),
                    onSelected: (value) {},
                  ))
              .toList(),
          items: list
              .map((e) => DropdownMenuItem(
                    value: e,
                    child: Text(e),
                  ))
              .toList(),
          onChanged: (value) {
            setState(() => selectedValue = value!);
          },
        ),
      ),
    );
  }
}

flutter material-design flutter-3.0
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.