【问题标题】:Flutter: There should be exactly one item with [DropdownButton]'s value: AFlutter:应该只有一项具有 [DropdownButton] 的值:A
【发布时间】:2021-02-04 10:48:05
【问题描述】:

首先,我尝试先google,但仍然没有找到解决方案。此外,我尝试了许多从谷歌搜索中找到的 SO 选项,但仍然无法正常工作。所以,我打开这个问题。

我的代码:

class AddRiderScreen extends StatefulWidget {
  @override
  _AddRiderScreenState createState() => _AddRiderScreenState();
}

class _AddRiderScreenState extends State<AddRiderScreen> {
  String _riderNameSelected = '';

  final List _listRiderName = [
    'Personal Accident (Risk A)',
    'Personal Accident (Risk B)',
    'Personal Accident (Risk C)'
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(
        title: Text('Title'),
        backgroundColor: Colors.white,
      ),
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: DropdownButtonHideUnderline(
          child: DropdownButton(
            hint: Text('-- Pilih --'),
            isExpanded: true,
            value: _riderNameSelected,
            items: _listRiderName.map((value) {
              return DropdownMenuItem(
                child: Text(value),
                value: value,
              );
            }).toList(),
            icon: Icon(
              Icons.arrow_drop_down,
              color: Colors.grey,
            ),
            onChanged: (value) {
              setState(() {
                _riderNameSelected = value;
              });
            },
          ),
        ),
      ),
    );
  }
}

错误:

There should be exactly one item with [DropdownButton]'s value: A. 
Either zero or 2 or more [DropdownMenuItem]s were detected with the same value
'package:flutter/src/material/dropdown.dart':
Failed assertion: line 834 pos 15: 'items == null || items.isEmpty || value == null ||
              items.where((DropdownMenuItem<T> item) {
                return item.value == value;
              }).length == 1'

有人能知道这个问题并找到解决方法吗?因为我不知道如何解决这个问题。

【问题讨论】:

标签: flutter dropdown


【解决方案1】:

只需删除您的_riderNameSelected 中的''

String _riderNameSelected;

【讨论】:

    猜你喜欢
    • 2021-08-29
    • 2020-06-16
    • 2021-05-01
    • 1970-01-01
    • 2023-01-17
    • 2020-07-18
    • 2021-12-03
    • 2023-01-05
    • 2020-08-26
    相关资源
    最近更新 更多