<template>
<div class="el-textarea">
<textarea v-model="content" id="textarea" type="textarea" rows="2" autocomplete="off"></textarea>
<button @click="insertAtCursor('<张三>')" type="button">插入会员名</button>
</div>
</template>
<script>
/* eslint-disable no-inline-comments */
export default {
data() {
return {
content: ''
}
},
methods: {
async insertAtCursor(myValue) {
const myField = document.querySelector('#textarea')
if (myField.selectionStart || myField.selectionStart === 0) {
var startPos = myField.selectionStart
var endPos = myField.selectionEnd
this.content = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length)
await this.$nextTick() // 这句是重点, 圈起来
myField.focus()
myField.setSelectionRange(endPos + myValue.length, endPos + myValue.length)
} else {
this.content += myValue
}
},
},
}
</script>
发表评论
Maka
好棒
lboh
hello