Flutter labelWidget 属性 DropdownMenuEntry 出现错误,我该如何修复它?

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

我不明白为什么这个属性会出错。我已经检查了 flutter 文档,它应该工作正常。有人可以帮忙吗?

当我将其悬停时:命名参数“labelWidget”未定义。 尝试将名称更正为现有命名参数的名称,或使用名称“labelWidget”定义命名参数

    import 'package:flutter/material.dart';

/*-------Lista apenas de exemplo para o dropdown das malhas-------*/

enum MalhaLabel {
  malha1('010 dime: omissão de entrega'),
  malha2('NF-e: Cálculo: '),
  malha3('NF-e: Cálculo:'),
  malha4(
      'NF-e: Cálculo2: omissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entrega'),
  malha5(
      'NF-e: Cálculo2: omissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entregaomissão de entrega');

  const MalhaLabel(this.label);
  final String label;
}

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

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final TextEditingController malhaController = TextEditingController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: PreferredSize(
        preferredSize: const Size.fromHeight(70.0),

        /*-------AppBar com título-------*/

        child: AppBar(
          titleSpacing: 0.00,
          leading: Builder(
            builder: (BuildContext context) {
              return IconButton(
                onPressed: () {
                  Scaffold.of(context).openDrawer();
                },
                icon: const Icon(Icons.filter_alt_outlined),
              );
            },
          ),
          title: const Text(
            'AUDITORIA | MALHAS FISCAIS',
            style: TextStyle(
              color: Colors.white,
              fontSize: 18,
              fontWeight: FontWeight.bold,
            ),
          ),
          backgroundColor: const Color(0xFF1C5D22),
        ),
      ),

      /*-------Drawer com filtros-------*/
      drawer: Container(
        width: 350,
        child: Drawer(
          child: ListView(
            padding: EdgeInsets.zero,
            children: [
              const SizedBox(
                height: 90.0,
                child: DrawerHeader(
                  decoration: BoxDecoration(
                    color: Color(0xFF1C5D22),
                  ),
                  child: Row(
                    children: [
                      Icon(
                        Icons.filter_alt_outlined,
                        color: Colors.white,
                      ),
                      SizedBox(
                        width: 16,
                      ),
                      Text(
                        'FILTROS',
                        style: TextStyle(
                          color: Colors.white,
                          fontSize: 18,
                          fontWeight: FontWeight.bold,
                        ),
                      ),
                    ],
                  ),
                ),
              ),

              /*-------Filtros-------*/

              Padding(
                padding: const EdgeInsets.only(bottom: 20, top: 20),
                child: ListTile(
                  title: const Text(
                    'Malhas fiscais:',
                    style: TextStyle(fontSize: 16),
                  ),
                  subtitle: Padding(
                    padding: const EdgeInsets.only(top: 8),
                    child: DropdownMenu<MalhaLabel>(
                      controller: malhaController,
                      enableFilter: true,
                      requestFocusOnTap: true,
                      hintText: 'Digite e selecione',
                      dropdownMenuEntries:
                          MalhaLabel.values.map<DropdownMenuEntry<MalhaLabel>>(
                        (MalhaLabel malha) {
                          return DropdownMenuEntry<MalhaLabel>(
                            value: malha,
                            labelWidget: SizedBox(
                              width: MediaQuery.of(context).size.width * 0.90,
                              child: Padding(
                                padding: const EdgeInsets.all(8.0),
                                child: Text(
                                  malha.label,
                                ),
                              ),
                            ),
                            label: malha.label,
                          );
                        },
                      ).toList(),
                    ),
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
flutter label syntax-error dropdown
1个回答
0
投票

解决了,我的flutter已经过时了...

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