Wrap组件实践 2023-07-25 周二

2023-08-04  本文已影响0人  勇往直前888

简介

标签按钮还是经常遇到的。比如像这样的

企业微信截图_b85119a3-0a2a-442c-9b04-bee26e77eec7.png

这种场景,RowColumn都力不从心,用Wrap是最合适的。

属性定义

企业微信截图_66ad3e94-436e-4ac6-bc41-0d9ba991f7b9.png

例子代码

不能直接copy使用,仅能做参考

  /// 关键字标签
  Widget _buildTag(List itemList) {
    return Visibility(
      visible: itemList.isNotEmpty,
      child: Wrap(
        spacing: 10.w,
        runSpacing: 10.h,
        children: itemList
            .map((item) => Container(
                  height: 25.h,
                  padding: EdgeInsets.symmetric(horizontal: 10.w),
                  decoration: BoxDecoration(
                      color: PandaColorConfig().backgroundF2F2F2,
                      borderRadius: BorderRadius.circular(12.5.h)),
                  child: InkWell(
                    onTap: () {
                      if (logic.removeButton) {
                        var index = itemList.indexOf(item);
                        logic.deleteSearch(index);
                      } else {
                        logic.btnSearch('$item');
                      }
                    },
                    child: Row(
                      mainAxisSize: MainAxisSize.min,
                      children: [
                        Container(
                          constraints: BoxConstraints(
                            maxWidth: 280.w,
                          ),
                          child: Text(
                            '$item',
                            style: TextStyle(
                              color: PandaColorConfig().col666666,
                              fontSize: 12.sp,
                              fontWeight: FontWeight.w400,
                            ),
                            maxLines: 1,
                            overflow: TextOverflow.ellipsis,
                          ),
                        ),
                        Visibility(
                          visible: logic.removeButton,
                          child: Image.asset(
                            R.assetsImgTagDelete,
                            width: 12.w,
                            height: 12.w,
                          ),
                        ),
                      ],
                    ),
                  ),
                ))
            .toList(),
      ),
    );
  }

关于标签的插件

上一篇下一篇

猜你喜欢

热点阅读