在前端开发中,经常需要制作类似标签的 UI 组件,比如标签输入框、标签展示列表等。这时,我们可以使用一个方便的 npm 包:vue-chip。
安装
使用 npm 进行安装:
npm install vue-chip --save
使用
在项目中引入 vue-chip 组件:
import Vue from 'vue' import VueChip from 'vue-chip' Vue.use(VueChip)
组件
vue-chip 提供了三个组件:
Input
Input 组件可以让用户输入标签并显示已选标签。
使用方式:
<template>
<vue-chip-input
v-model="tagList"
></vue-chip-input>
</template>在 data 中定义 tagList 数组,即可将用户输入的标签存储在其中。
data() {
return {
tagList: []
}
}List
List 组件可以展示已选择的标签列表。
使用方式:
<template>
<vue-chip-list
:tags="tagList"
@remove="removeTag"
></vue-chip-list>
</template>其中,:tags 属性为已选择的标签数组,@remove 事件为删除标签时触发的方法。
removeTag(index) {
this.tagList.splice(index, 1)
}Tag
Tag 组件为单个标签,可供其他组件使用。
使用方式:
<template>
<vue-chip-tag
:tag="tag"
@remove="removeTag"
></vue-chip-tag>
</template>其中,:tag 属性为标签内容,@remove 事件为删除该标签时触发的方法。
removeTag() {
this.$emit('remove')
}示例代码
下面是一个完整的示例:
-- -------------------- ---- -------
----------
-----
---------------
-----------------
------------------
--------------
---------------
-------------------
-----------------
------
-----------
--------
------ ------------ ---- -----------------------------------
------ ----------- ---- ----------------------------------
------ ------- -
----------- -
-------------
-----------
--
------ -
------ -
-------- -------- ------- -------
-
--
-------- -
---------------- -
-------------------------- --
-
-
-
---------总结
使用 vue-chip,我们可以快速制作标签相关的 UI 组件,大大提高开发效率。希望本篇文章对大家的学习和开发工作有所帮助。
Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/600572c781e8991b448e8ecc