首页 > 解决方案 > Wrap 在 listview.builder 颤振中不起作用

问题描述

我想实现像 pic1 这样的项目芯片(最新,最受欢迎)的布局一些使用包装的芯片

但我能做到的是图2在此处输入图像描述

我搜索了很多示例,但我没有得到它在使用 WRAP 时做错的地方。我试图包装整个列表视图但没有工作。这是我的代码

Container(
              height: SizeConfig.screenHeight / 2,
              child: ListView.builder(
                  shrinkWrap: true,
                  itemCount: _selectKeywords.length,
                  itemBuilder: (context, index) {
                    return Wrap(
                      children: <Widget>[
                        Chip(
                          label: Text(
                            _selectKeywords[index],
                          ),
                          onDeleted: () {
                            setState(() {
                              _selectKeywords.removeAt(index);
                            });
                          },
                        ),
                      ],
                    );
                  }),
            ),

标签: flutterlistviewchips

解决方案


你不需要在ListView.builder这里使用 a ,但你可能想尝试使用List.generate这样的:

Wrap(
      spacing: 5,
      children: List.generate(
        10,
        (index) {
          return Chip(
            label: Text(_selectKeywords[index]),
            onDeleted: () {
              setState(() {
                _selectKeywords.removeAt(index);
              });
            },
          );
        },
      ),
    );

推荐阅读