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