parent
589bc2d017
commit
433c0fb49b
@ -0,0 +1,95 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<div class="size"> |
||||||
|
<i class="el-icon-delete"></i> |
||||||
|
<span>{{ this.label }}</span> |
||||||
|
<i class="el-icon-delete" @click="tags = []"></i> |
||||||
|
</div> |
||||||
|
|
||||||
|
<el-row class="add" type="flex" justify="space-between"> |
||||||
|
<el-col :span="11"> |
||||||
|
<el-input v-model="value"> |
||||||
|
<template slot="append"> |
||||||
|
<el-button @click="addTag">添加</el-button> |
||||||
|
</template> |
||||||
|
</el-input> |
||||||
|
</el-col> |
||||||
|
<el-col :span="11"> |
||||||
|
<el-tag v-for="(tag, index) in tags" :key="tag.name" closable :type="tag.type" |
||||||
|
@close="tags.splice(index, 1)"> |
||||||
|
{{ tag.name }} |
||||||
|
</el-tag> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: "TagList", |
||||||
|
props: { |
||||||
|
label: String |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
//当前尺寸文本 |
||||||
|
value: '', |
||||||
|
tags: [], |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
|
||||||
|
addTag() { |
||||||
|
let value = this.value |
||||||
|
if (value) { |
||||||
|
if (this.tags.find(item => item.name === value)) { |
||||||
|
this.$modal.msgWarning(`请问重复添加${value}`) |
||||||
|
} else { |
||||||
|
this.tags.push({ name: value, type: '' }) |
||||||
|
this.value = '' |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
tags(value) { |
||||||
|
this.$emit('change-tags', value) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
<style scoped lang="scss"> |
||||||
|
.add { |
||||||
|
background-color: #ffffff; |
||||||
|
padding: 5px; |
||||||
|
|
||||||
|
&>div:last-child { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
overflow-x: auto; |
||||||
|
|
||||||
|
&>span { |
||||||
|
margin-left: 5px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.size { |
||||||
|
font-size: 16px; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
padding: 15px 10px; |
||||||
|
|
||||||
|
&>span { |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
|
||||||
|
&>i:first-child { |
||||||
|
visibility: hidden; |
||||||
|
} |
||||||
|
|
||||||
|
&>i:last-child { |
||||||
|
color: red; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue