【问题标题】:Dropdown option data in flutter from json api [closed]来自json api的flutter中的下拉选项数据[关闭]
【发布时间】:2019-02-05 05:19:26
【问题描述】:

我想从 API 中检索数据并将其显示在颤振下拉选项中。

API - http://webmyls.com/php/getdata.php

如何编写代码来显示来自 API 的数据?

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

    我只使用你的代码并且只编辑 一个 行,它就像魅力一样工作。

    import "package:flutter/material.dart";
    import 'dart:async';
    import 'dart:convert';
    import 'package:http/http.dart' as http;
    
    void main() => runApp(MaterialApp(
          title: "Hospital Management",
          home: MyApp(),
        ));
    
    class MyApp extends StatefulWidget {
      @override
      _MyAppState createState() => _MyAppState();
    }
    
    class _MyAppState extends State<MyApp> {
      String _mySelection;
    
      final String url = "http://webmyls.com/php/getdata.php";
    
      List data = List(); //edited line
    
      Future<String> getSWData() async {
        var res = await http
            .get(Uri.encodeFull(url), headers: {"Accept": "application/json"});
        var resBody = json.decode(res.body);
    
        setState(() {
          data = resBody;
        });
    
        print(resBody);
    
        return "Sucess";
      }
    
      @override
      void initState() {
        super.initState();
        this.getSWData();
      }
    
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          appBar: AppBar(
            title: Text("Hospital Management"),
          ),
          body: new Center(
            child: new DropdownButton(
              items: data.map((item) {
                return new DropdownMenuItem(
                  child: new Text(item['item_name']),
                  value: item['id'].toString(),
                );
              }).toList(),
              onChanged: (newVal) {
                setState(() {
                  _mySelection = newVal;
                });
              },
              value: _mySelection,
            ),
          ),
        );
      }
    }
    

    你想实现别的目标吗?

    【讨论】:

    • 我有另一个 api Api = webmyls.com/sts/get_advisor_village_sanch_acharya.php 我需要有两个下拉菜单 1) 第一个下拉选项 -> 数据应该具有“顾问”表中的名称字段 2) 第二个下拉选项 - > 根据在第一个下拉菜单中选择的选项,“sanch:”中的“sanch_name”字段应显示为 ex。如果 Drop down 1 选择了名称:“chidambaram”,则该表的值为 sanch_id:“2”。在这种情况下,第二个下拉菜单应显示 id = 2 的 sanch_name。请帮我解决这个问题
    • 为什么要将 3rd 作为下拉菜单?我认为应该是显示“Sriperumbadur II”的文本
    • 有些Id会在表中有多行。
    • 多动态下拉列表你得到答案了吗?
    • 谢谢你,但我遇到了一个错误,因为我使用的页面包含多个输入,并且数据是使用模式类从另一个页面传递的。应该只有一项具有 [DropdownButton] 的值:CT。检测到 0 个或 2 个或多个 [DropdownMenuItem] 具有相同的值 'package:flutter/src/material/dropdown.dart':断言失败:第 834 行 pos 15:'items == null ||项目.isEmpty ||值 == 空 || items.where((DropdownMenuItem item) { return item.value == value; }).length == 1'
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 2021-10-17
    • 2018-12-11
    • 2018-02-24
    • 2014-06-12
    • 2021-10-28
    • 2017-06-02
    • 2016-01-10
    相关资源
    最近更新 更多