【问题标题】:how do i replace CARD with a for loop in flutter如何在颤动中用 for 循环替换 CARD
【发布时间】:2021-02-16 07:57:17
【问题描述】:

我想用 for 循环替换卡片。这是我显示输出的屏幕主体

body: FutureBuilder<List>
       (
         future: db.getAllRecords("EMPLOYEE"),
        initialData: List(),
        builder: (context,snapshot){
          return snapshot.hasData
              ? ListView.builder(
                itemCount: snapshot.data.length,
                itemBuilder: (_, int position){
                 final item =snapshot.data[position];
                 return Card(
                   child:ListTile(
                     title: Text(
                        snapshot.data[position].row[1]
                     ),
                   ),
                 );
                },
          )
             : Center(
                child:CircularProgressIndicator() ,
              );

【问题讨论】:

    标签: sqlite flutter dart card


    【解决方案1】:

    其实你写的方式是 Flutter 中的标准实现方式。您可以调用默认的 ListView 构造函数而不是 ListView.builder 构造函数,然后调用 for 循环,但这不是最佳做法。

    List<Widget> _buildListItems(BuildContext context, List<...> list) {
        final output = List<Widget>();
        for (var item in list) {
            output.add(
                Card(
                    child: ListTile(
                        title: Text(item.row[1]),
                    ),
                ),
            );
        }
        return output;
    }
    
    //... back to your build(context) body
    
        body: FutureBuilder<List>(
            future: db.getAllRecords("EMPLOYEE"),
            builder: (context, snapshot) {
                return snapshot.hasData
                    ? ListView(
                        children: [
                            ..._buildListItems(context, snapshot.data),
                        ],
                    )
                    : Center(
                        child: CircularProgressIndicator(),
                    );
            }
        )
    

    【讨论】:

    • 好吧,我会用我无法使用卡的员工(最多 5 人)发送短信,还有其他方法吗?
    • 您的评论似乎是一个完全不同的问题,与 UI 无关。您可以使用pub.dev/packages/flutter_sms 发送短信。我建议发布一个新问题,详细说明您想要实现的目标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 2021-07-27
    • 2020-10-04
    相关资源
    最近更新 更多