【问题标题】:Want to remove indexed item in flutter's listview想要删除颤振列表视图中的索引项
【发布时间】:2020-12-23 10:00:51
【问题描述】:

有一个订单列表(包含订单),它配置了pageview builder(水平滚动),并且在每个订单页面中都有listview.builder(垂直滚动)中的项目,我能够成功地动态配置。

现在每个订单都有n个商品,每个商品都有一个按钮,可以成功调用。现在在成功操作之后,我希望按照执行操作的顺序的订单项应该从 listview.builder 中删除,因为它会在服务器后端中删除。

当订单没有剩余商品时,它也应该从 pageview.builder 中删除,因为它也会从服务器中删除。

我正在使用的代码如下,用于 pageview.builder 和 list.viewbuilder 的小部件

FutureBuilder(
            future: _future,
            builder: (context, snapshot) {
              switch (snapshot.connectionState) {
                case ConnectionState.none:
                  return Text('none');
                case ConnectionState.waiting:
                  return Center(child: CircularProgressIndicator());
                case ConnectionState.active:
                  return Text('');
                case ConnectionState.done:
                  if (snapshot.hasError) {
                    return Text(
                      '${snapshot.error}',
                      style: TextStyle(color: Colors.red),
                    );
                  } else {
   return PageView.builder(
                        scrollDirection: Axis.horizontal,
                        itemCount: snapshot.data.content.length,// length of total orders

                        itemBuilder: (context, index) {
                            var firstdata = jsonResponse['content'];
                            var list = firstdata[index]['order_items'];
                          return Column(
                                          children:<Widget>[
                                    Text(  firstdata[index]['order_no]),
                                    ListView.builder(
                                  
                                  shrinkWrap: true,
                                  itemCount: //lenght of the items in the order to be determined,
                                  itemBuilder: (context, index) {
                                   return Column(
                                      children: [
                                         Text(list[index]['item_number']),
                                         RaisedButton(
                                          onPressed: (){
                                            callaction();
                                          },
                                        ) 

                                      ],
                                    );
                                  },
                                ),



                                        ])


                          
                        });
                  }
              }
            })

函数调用

callaction(){
print('action called on server');


    var response = await http.post(url, body: data);
    if (response.statusCode == 200) {
     print('success');

    }
}

请指导我如何实现所需的功能。 json flutter indexing flutter-listview flutter-pageview

【问题讨论】:

    标签: json flutter indexing flutter-listview flutter-pageview


    【解决方案1】:

    您可以将firstdata 的项目的索引传递给callaction()。问题是第二个构建器的索引覆盖了第一个,因此您需要重命名两者中的至少一个。然后您可以执行callaction(firstIndex) 并从那里从firstdata 中删除正确的项目。

    【讨论】:

      猜你喜欢
      • 2019-04-25
      • 2019-10-28
      • 2020-11-16
      • 2019-08-04
      • 2020-09-12
      • 2019-12-20
      • 2020-06-19
      • 1970-01-01
      • 2020-09-03
      相关资源
      最近更新 更多