Flutter - 选择带有显示和返回值的列表

Posted

技术标签:

【中文标题】Flutter - 选择带有显示和返回值的列表【英文标题】:Flutter - Select list with display and return value 【发布时间】:2021-12-29 02:27:05 【问题描述】:

是否可以在flutter中使用带有显示和返回值的选择列表

例如:

来自这个网络服务https://jsonplaceholder.typicode.com/users

id = 选择列表中的值,name = 选择列表中的显示值

如果用户选择 Leanne Graham,我需要获取 Leanne Graham (1) 的 id 并发送到数据库。如果选择 Ervin Howell 需要获取值 (2)。

【问题讨论】:

你想要一个下拉列表(选择列表)在选择选项时返回一个值吗? 【参考方案1】:

请参考我的回答 here。

您想为您的所有列表创建一个类并为此调用 this url

您的所有列表 API 调用

 Future<List<dynamic>> getJobsData() async 
    String url = 'https://jsonplaceholder.typicode.com/users';
    var response = await http.get(Uri.parse(url), headers: 
      'Content-Type': 'application/json',
      'Accept': 'application/json',
    );
    return json.decode(response.body);
  

您的所有列表小部件:

 Expanded(
        child: FutureBuilder<List<dynamic>>(
          future: getJobsData(),
          builder: (context, snapshot) 
            if (snapshot.hasData) 
              return Padding(
                padding: const EdgeInsets.all(8.0),
                child: ListView.builder(
                  shrinkWrap: true,
                   itemCount: snapshot.data!.length,
                  itemBuilder: (context, index) 
                    var name = snapshot.data![index]['name'];
                    var email = snapshot.data![index]['email'];
                    var id = snapshot.data![index]['id'];
                    return Card(
                      shape: RoundedRectangleBorder(
                        side: BorderSide(color: Colors.green.shade300),
                        borderRadius: BorderRadius.circular(15.0),
                      ),
                      child: Column(
                        children: [
                          ListTile(
                            leading: Text(id.toString()),
                            title: Text(name),
                            subtitle: Text(email),
                          ),
                        ],
                      ),
                    );
                  ,
                ),
              );
            
            return CircularProgressIndicator();
          ,
        ),
      ),
      

所有数据的结果屏幕 ->

然后您为所选用户创建发送到该名称的 Id 到下一个类并使用 this url

你通过上面选择的用户ID this甲

【讨论】:

以上是关于Flutter - 选择带有显示和返回值的列表的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 返回分类选项卡和项目的列表

Flutter - 使用提供者和 Firestore 返回空列表

Flutter 函数使用 Firebase 返回空列表

返回带有零而不是空值的 Access 记录集

下拉列表值的更改不会将更新的值返回给控制器

Oracle Apex 5.1:基于 LOV(值列表)的报告列显示返回值而不是显示值