我不明白为什么这个属性会出错。我已经检查了 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已经过时了...