更新记录

1.0.2(2023-04-04)

优化代码

1.0.1(2023-03-28)

新增: 1、删除功能 2、可在 tag 前后添加 图片/图标/文字等自定义内容

1.0.0(2023-03-28)

发布 lx-tags 组件

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue app-nvue ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
×

lx-tags

基于 uni-tag 开发的 lx-tags 组件,支持 uni-tag 的属性

  1. 支持单选和多选,可在 tag 中添加图片/图标/文字等自定义内容,有删除功能
  2. 可自定义字体颜色,背景颜色,边框颜色和选中后的颜色
  3. change 事件返回选中后的数组
  4. 有其他个性化要求,直接修改源码 tag 样式即可

注意:该插件依赖 uni-icons 插件,插件市场搜索导入即可

基本用法

导入方法:

  1. 直接使用 HBuilderX 导入插件
  2. 下载插件 zip ,将 lx-tags 文件夹复制到项目 components 文件夹中,import+components 引入。

使用方法(demo):

    <template>
    <view class="container">
        <!-- 基础标签 -->
        <view class="text">不同 type 标签(primary/success/info/error/warning/...)</view>
        <view class="tag_container">
            <lx-tags :list="list" />
            <lx-tags :list="list" type="success" />
            <lx-tags :list="list" type="error" />
        </view>

        <!-- 圆形标签 -->
        <view class="text">圆形标签</view>
        <view class="tag_container"><lx-tags :list="list" circle /></view>

        <!-- 空闲标签 -->
        <view class="text">空心标签</view>
        <view class="tag_container"><lx-tags :list="list" inverted /></view>

        <!-- 可删除标签 -->
        <view class="text">可删除标签</view>
        <view class="tag_container"><lx-tags :list="list" deletable /></view>

        <!-- 添加标签 -->
        <view class="text">添加标签</view>
        <view class="tag_container flex">
            <lx-tags :list="list3"></lx-tags>
            <button class="zy_tag_add" @click="handleClick">+ New Tag</button>
        </view>

        <!-- 不同尺寸标签 -->
        <view class="text">不同尺寸标签(normal/small/mini)</view>
        <view class="tag_container">
            <lx-tags :list="list2" />
            <lx-tags :list="list2" size="small" />
            <lx-tags :list="list2" size="mini" />
        </view>

        <!-- 添加图片/图标 -->
        <view class="text">添加图片/图标的标签</view>
        <view class="tag_container">
            <lx-tags :list="list2" inverted>
                <template v-slot:left>
                    <image style="width: 20px;height: 20px;" src="../../static/1.png"></image>
                </template>
            </lx-tags>
            <lx-tags :list="list2">
                <template v-slot:right>
                    <uni-icons type="paperplane" size="20"></uni-icons>
                </template>
            </lx-tags>
        </view>

        <!-- 单选标签 -->
        <view class="text">单选标签</view>
        <view class="tag_container"><lx-tags :list="list1" multiple /></view>

        <!-- 多选标签 -->
        <view class="text">多选标签</view>
        <view class="tag_container"><lx-tags :list="list" inverted active-back-color="#2979ff" active-color="#ffffff" border-color="#000000" /></view>
    </view>
    </template>

    <script>
    export default {
    data() {
        return {
            list: [],
            list1: [],
            list2: [],
            list3: []
        };
    },
    onLoad() {
        this.list = [
            { label: '标签一', value: 1 },
            { label: '标签二', value: 2 },
            { label: '标签三', value: 3 },
            { label: '标签四', value: 4, disabled: true },
            { label: '标签五', value: 5 },
            { label: '标签六', value: 6 }
        ];
        this.list1 = [
            { label: '标签一', value: 1 },
            { label: '标签二', value: 2 },
            { label: '标签三', value: 3 },
            { label: '标签四', value: 4, disabled: true },
            { label: '标签五', value: 5 },
            { label: '标签六', value: 6 }
        ];
        this.list2 = [{ label: '标签一', value: 1 }];

        this.list3 = [{ label: '标签一', value: 1 }, { label: '标签二', value: 2 }, { label: '标签三', value: 3 }];
    },
    methods: {
        handleChange(data) {
            console.log('data', data);
        },
        handleClick() {
            this.list3.push({ label: '新标签', value: this.list3.length + 1 });
            console.log('this.list3', this.list3);
        }
    }
    };
    </script>

Attributes,Events and Slot

参数 类型 说明 是否必传
list Array 展示数组,list:[{label:'展示名称', value:'值', disabled:'是否可选'(选填,默认false)}]
multiple Boolean 是否单选,默认为false
size String 标签大小,可选值:normal、samll、mini,默认为normal,
type String 颜色类型,可选值:primary(蓝色)、info(灰色)、success(绿色)、warning(黄色)、error(红色)、royal(紫色),默认为primary
deletable Boolean 是否可删除,默认为false
inverted Boolean/String 是否为空心,默认为false
circle Boolean/String 是否为圆角,默认为false
color String 字体颜色
activeColor String 选中时,字体颜色
backcolor String 背景颜色
activeBackColor String 选中时,背景颜色
fontSize String 字体大小,优先级大于 size
borderWidth String 边框宽度
borderColor String 边框颜色
插槽名称 说明
left 在 tag 左边的插入自定义内容
right 在 tag 右边的插入自定义内容
事件名 说明 返回值
@change 返回选中 tag 组成的数组 Array

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问