簡體   English   中英

應該只有一項具有 [DropdownButton] 的值:

[英]There should be exactly one item with [DropdownButton]'s value:

String selectedItem = 'Instalação Fibra';

DropdownButton<String>(
                value: selectedItem,
                onChanged: (value) {
                  setState(() {
                    selectedItem = value;
                  });
                },
                items: <String>['Instalação de TV', 'Instalação Rádio']
                    .map<DropdownMenuItem<String>>((String e) {
                  return DropdownMenuItem<String>(
                    value: e,
                    child: Text(e),
                  );
                }).toList(),
              )

這怎么會是錯的? 這不是編譯。 我嘗試了幾種方法,但都出現了同樣的錯誤。

您可以在下面復制粘貼運行完整代碼
<String>['Instalação de TV', 'Instalação Rádio']中不存在selectedItem 'Instalação Fibra'
您可以使用List<String> items並設置selectedItem = items[0]
代碼片段

List<String> items = ['Instalação Fibra','Instalação de TV', 'Instalação Rádio'];
String selectedItem;

@override
void initState() {
    selectedItem = items[0];
    super.initState();
}

工作演示

在此處輸入圖片說明

完整代碼

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<String> items = ['Instalação Fibra','Instalação de TV', 'Instalação Rádio'];
  String selectedItem;

  @override
  void initState() {
    selectedItem = items[0];
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: DropdownButton<String>(
        value: selectedItem,
        onChanged: (value) {
          setState(() {
            selectedItem = value;
          });
        },
        items: items.map<DropdownMenuItem<String>>((String e) {
          return DropdownMenuItem<String>(
            value: e,
            child: Text(e),
          );
        }).toList(),
      ),
    );
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM