56 lines
1.2 KiB
Vue
56 lines
1.2 KiB
Vue
<template>
|
|
<div class="item no-select" :style="{height: height+'px'}">
|
|
<div class="ql-editor item__text" @click="doModify" v-html="$escapeHTML(`${value}`)" />
|
|
<el-button class="item__button" type="primary" size="mini" icon="el-icon-edit" circle @click="doModify" />
|
|
<el-button v-if="remove" class="item__button" type="danger" size="mini" icon="el-icon-delete" circle @click="doRemove" />
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
|
|
export default {
|
|
props: {
|
|
value: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
height: {
|
|
type: Number,
|
|
default: 60
|
|
},
|
|
remove: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
},
|
|
methods: {
|
|
doModify() {
|
|
this.$emit('modify', this.value);
|
|
},
|
|
doRemove() {
|
|
this.$emit('remove', this.value);
|
|
}
|
|
}
|
|
};
|
|
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.item {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
|
|
&__text {
|
|
flex: 1;
|
|
background: #f1f1f1;
|
|
}
|
|
|
|
&__button {
|
|
width: 32px;
|
|
margin-left: 10px;
|
|
place-self: flex-end;
|
|
}
|
|
}
|
|
</style>
|