翩翩从firestore数组中填充下拉按钮。

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

我如何将这个数组列表填充到下拉按钮中?

我想把这个数组列表中的位置填充到下拉按钮中。[以下是我的数据库的样子]。https:/i.stack.imgur.comS5yDh.png。

flutter dart flutter-layout
2个回答
0
投票

我建议 flutter_form_bloc 包。它非常有用,你可以异步地将项目添加到一个下拉式数组中,这样你就可以从API中获取它们,或者根据你的需要,从Firebase中获取。

如果你不想使用包,你可以创建一个空列表,并将其分配给最初的 items 参数。在你的 initState 方法,然后你可以用项目填充该列表,然后调用 setState.


0
投票

你可以用以下方式创建一个下拉按钮。

   import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(
      home: MyApp(),
    ));

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String dropdownValue;
  List<String> listOfStrings = ["apple", "banana", "strawberry", "cherry"];
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: DropdownButton<String>(
          value: dropdownValue,
          icon: Icon(Icons.arrow_downward),
          iconSize: 24,
          elevation: 16,
          style: TextStyle(color: Colors.deepPurple),
          underline: Container(
            height: 2,
            color: Colors.deepPurpleAccent,
          ),
          onChanged: (String newValue) {
            setState(() {
              dropdownValue = newValue;
            });
          },
          items: listOfStrings.map<DropdownMenuItem<String>>((String value) {
            return DropdownMenuItem<String>(
              value: value,
              child: Text(value),
            );
          }).toList(),
        ),
      ),
    );
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.