(转)VUE可插入自定义标签的 Textarea 组件
原文地址:https://www.cnblogs.com/wisewrong/p/10191621.htmlgithub地址:https://github.com/wisewrong/vue-tag-textarea最终成品效果图:使用:npm install vue-tag-textarea -S在main.js文件中引入插件并注册# main.jsimport VueTagTextarea f
·
原文地址:https://www.cnblogs.com/wisewrong/p/10191621.html
github地址:https://github.com/wisewrong/vue-tag-textarea
最终成品效果图:
使用:
npm install vue-tag-textarea -S
在 main.js
文件中引入插件并注册
# main.js
import VueTagTextarea from 'vue-tag-textarea'
import 'vue-tag-textarea/lib/vue-tag-textarea.css'
Vue.use(VueTagTextarea)
在项目中用使用 VueTagTextarea(使用建议使用github这个使用方法,原文的使用点击添加标签是没有加事件的)
<template>
<div id="app">
<div>
<h1>测试 textarea 组件</h1>
<div class="container" ref="wise">
<button @click="add">add</button>
<div v-for="(item, index) in listData" :key="index">
<button @click="handleDelete(index)">delete</button>
<w-textarea v-model="item.text" :tools="[]"></w-textarea>
</div>
<w-textarea v-model="testData" tag="wise" ref="testText" maxlength="100" @add="handleAdd">
<div v-if="show">
<div>
<label>模版内容</label>
<input type="text" v-model="form.text">
</div>
<div>
<button @click="addTag(form.text)">save</button>
</div>
</div>
</w-textarea>
<div v-html="testData"></div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'app',
components: {},
data () {
return {
testData: '',
listData: [],
show: false,
form: {
text: ''
}
}
},
methods: {
add () {
this.listData.push({ text: '' })
},
handleDelete (index) {
this.listData.splice(index, 1)
console.log('list', this.listData)
},
handleAdd (type) {
if (type === 'tag') {
this.show = true
} else {
console.log(type)
}
},
addTag (text) {
this.$refs.testText.addTag(text)
console.log('testdata', this.testData)
this.show = false
}
}
}
</script>
<style lang="scss"></style>
效果图:
更多推荐
已为社区贡献4条内容
所有评论(0)