Flutter:如何使用 Wrap 而不是 ListView.builder?

Wik*_*ska 5 dart flutter

在 中FutureBuilder,我需要Wrap使用元素创建,但我不知道如何创建。

FutureBuilder(
  future: _getCategories(),
  builder: (BuildContext context, AsyncSnapshot snapshot){
    if(snapshot.data == null){
      return Text("Wait...");
    }else{
      return ListView.builder(
        itemCount: snapshot.data.length,
        itemBuilder: (BuildContext context, int index){
          return  Text(snapshot.data[index].category);
        },
      );
    }
  },
)
Run Code Online (Sandbox Code Playgroud)

我需要ListView.builder用类似的东西Wrap.builder或其他东西替换。

Cop*_*oad 25

Wrap(
  children: snapshot.data.map((item) => Text(item.category)).toList().cast<Widget>(),
)
Run Code Online (Sandbox Code Playgroud)


小智 6

这是一个解决方案,

List tags = ['one','two'];    
Wrap(
          children: [
            for (var item in tags)
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: Chip(
                  
                  label: Text(item),
                ),
              )
          ],
        ),
Run Code Online (Sandbox Code Playgroud)