- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个dropDownFormField,其中有一个doprDownButton项目。下拉菜单中的所有其他项目都起作用,除了说“每周三次”的项目。
尝试在设置下拉列表的值之前放置条件不起作用
Expanded(
flex: 1,
child: Container(
width: 180.0,
child: DropdownButtonFormField(
decoration: InputDecoration(
filled: true,
labelText: "Frequency",
border: OutlineInputBorder(),
fillColor: Colors.black12),
validator: (val) {
if (val == null ) {
return "Select the units";
} else {
return null;
}
},
items: dummyData.frequency
.map((value) => DropdownMenuItem(
child: Text(
value,
),
value: value,
))
.toList(),
onChanged: (selectedFrequency) {
setState(() {
selectedFrequencyItem = selectedFrequency;
});
},
value: selectedFrequencyItem != null ? selectedFrequencyItem : null,
),
),
),
════════ (2) Exception caught by widgets library ═══════════════════════════════════════════════════ 'package:flutter/src/material/dropdown.dart': Failed assertion: line 620 pos 15: 'items == null || items.isEmpty || value == null || items.where((DropdownMenuItem item) => item.value == value).length == 1': is not true. User-created ancestor of the error-causing widget was:
最佳答案
DropdownButtonFormField的项必须唯一,偶然地在“frequency”列表中有两个“Thrice a week”字符串。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
body: SafeArea(
child: MyHomePage(),
),
),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
List<String> frequency = [
'Immediately',
'Once a day',
"Twice a day",
"Thrice a day",
"Four times a day",
"Every 2 hours",
"Every 3 hours",
"Every 4 hours",
"Every 6 hours",
"Every 8 hours",
"Every 12 hours",
"On alternative days",
"Twice a week",
"Thrice a week",
"Every 2 weeks",
"Every 3 weeks",
"Once a month",
"Five times a day",
"Four days a week",
"Five days a week",
"Six days a week",
];
String selectedFrequencyItem;
@override
Widget build(BuildContext context) {
return Container(
width: 180,
child: DropdownButtonFormField(
decoration: InputDecoration(
filled: true,
labelText: "Frequency",
border: OutlineInputBorder(),
fillColor: Colors.black12,
),
items: frequency
.map((value) => DropdownMenuItem(
child: Text(
value,
style: TextStyle(fontSize: 12),
),
value: value,
))
.toList(),
onChanged: (selectedFrequency) {
setState(() {
selectedFrequencyItem = selectedFrequency;
});
},
value: selectedFrequencyItem,
),
);
}
}
关于flutter - 在DropDownMenuItem中选择特定项目时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57884417/
我正在尝试在警报对话框小部件内创建一个下拉列表。菜单项需要从Firebase中拉出。到目前为止,我已经创建了警报对话框,遍历了Firebase数据并从结果中创建了一个列表。当我尝试使用列表作为下拉列表
我正在尝试从下拉菜单中更改主题颜色,但出现此错误:“预期类型为'List>'的值,但类型为之一 'MappedListIterable>' Color selected ; MaterialApp(
在 flutter 中,我正在使用 TMDB API 并从那里获取流派名称,并想在我的 DropdownButton 上显示它们,但我遇到了这个错误。 The argument type List >
我在Flutter中重构DropdownButton小部件的代码时遇到问题。我有简单的DropdownButton。 DropdownButton( items: [ DropdownMe
List> department = []; @override void initState() { super.initState(); department.add(DropdownMe
我的 Flutter 应用程序中有一个 DropdownButton,它包含一些相当长的字符串,我遇到了 DropdownMenuItems 中一些文本重叠的问题。有一个图像链接,您可以在其中看到一个
我正在 Flutter 中创建以下注册表单。 TextStyle white = new TextStyle(color: Colors.white, decorationColor: Col
在我的申请中,我想根据动物的种类(如果是狗或猫)展示疫苗。我遇到一个错误:在null上调用了“ map ”方法。尝试调用:映射DropdownMenuItem。为什么会这样呢?我已经在方法中放置了异步
我想用一些字符串填充Flutter中的DropdownButton,但出现错误 The element type 'String' can't be assigned to the list type
我是 Flutter 的新手,但我正在尝试创建一个 DropdownButtonFormField 并且它不起作用。我收到一个错误,说我有重复的值。有趣的是,我没有一个包含重复值的列表。我在 SO 上
我正在尝试使用 ListView.builder 构建多个 DropdownButton 与用户点击 float 操作按钮的次数一样多 new FloatingActionButton(
我已经构建了 DropdownMenuItem 的代码,现在当我从 dropdownmenuitem 单击一个项目时,它应该移动到另一个屏幕。下面是代码 class TimesScreen exten
在 Flutter 中,我可以使用 DropdownMenuItems 构建一个下拉菜单,如下所示: 我添加的 DropdownMenuItems 总是比下拉菜单本身宽: 如何调整 DropdownM
我需要根据语言选择更改小部件的 textDirection。我的全局翻译类中有一个 textDirection 变量,并将其添加到父小部件。除了 DropdownMenuItems 之外,所有的都工作
我是 Flutter 新手。我想从我的列表变量中显示 DropdownMenuItem。查看我的代码。 // my list variable List listUserType = [
我通过循环获取以下内容的API请求的结果来简单地打印DropdownButton中的内容时遇到了问题: [{id: 1, nome: foo}, ...] 这是它的代码。 return _respon
DropdownButton( value: value, items: locationItems.map( DropdownMenuItem
我正在做一个 flutter 项目,我将一个对象数组(List> 数组)从我的 Bloc 传递给流生成器。如果我打印对象,它打印得很好,但是当我尝试在 DropdownMenuItem 中映射它们时,
Error code您好,我是 flutter 新手,对 dropdownbutton 有一个关于对多个 dropdownbutton 使用相同值的问题。 根据我对错误的理解,这是由于在同一事件中对
我是一名优秀的程序员,十分优秀!