如何在FutureBuilder中快速使用reorderablelist?

时间:2019-07-18 04:20:10

标签: flutter dart future

我正在研究reorderablelist库。我将使用Futurebuilder中的recordablelist稍后从服务器获取数据,并将其显示在屏幕上。但是每次我按可读列表时,都会重新启用“将来”功能,并且该操作无法正常工作。

它是通过更改Futurebuilder的位置来构建的,但是没有用。

  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Reorderable List'),
        actions: <Widget>[
          PopupMenuButton<DraggingMode>(
            child: Container(
              alignment: Alignment.center,
              padding: const EdgeInsets.symmetric(horizontal: 30.0),
              child: Text("Options"),
            ),
            initialValue: _draggingMode,
            onSelected: (DraggingMode mode) {
              setState(() {
                _draggingMode = mode;
              });
            },
            itemBuilder: (BuildContext context) =>
                <PopupMenuItem<DraggingMode>>[
                  const PopupMenuItem<DraggingMode>(
                      value: DraggingMode.iOS,
                      child: Text('iOS-like dragging')),
                  const PopupMenuItem<DraggingMode>(
                      value: DraggingMode.Android,
                      child: Text('Android-like dragging')),
                ],
          ),
        ],
      ),
      body: FutureBuilder(
        future: fetchList(),
        builder: (context, snapshot) {
          print('Future Builder');
          return ReorderableList(
            onReorder: this._reorderCallback,
            onReorderDone: this._reorderDone,
            child: ListView.builder(
              itemCount: _items.length,
              itemBuilder: (context, index) {
                return Item(
                  data: _items[index],
                  isFirst: index == 0,
                  isLast: index == _items.length - 1,
                  draggingMode: _draggingMode,
                );
              },
            ),
          );
        },
      ),
    );
  }

  Future<void> fetchList()  async {
    _items = List();
    for (int i = 0; i < 50; ++i) {
      String label = "List item $i 2222";
       _items.add(ItemData(label, ValueKey(i)));
       print(i);
    }
    print('Future');
  }
}

我想使用Futurebuilder实现可记录列表,以从服务器检索数据。或者,如果我不知道,或者有什么新方法,请告诉我。我不是英语开发者,所以请理解尴尬。

0 个答案:

没有答案