<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