Компонент, над которым я работаю, должен по окончании быть текстовой областью или условным дивидендом, где текст, за которым следует хэштег, выделяется / или в чем-то вроде чипа.
В настоящий момент я 'я работаю с contenteditable div , окруженным другим компонентом, который предлагает ключевые слова.В этом компоненте есть v-модель
Моя цель - поместить текст после # в промежутке .
<template>
<at :ats=['#'] v-model="vmodel">
<div contenteditable @keypress.enter="highlight"></div>
</at>
<template>
Это не то, что я хочу, так как он добавляет текст в начале div.Например, когда я пишу : «Привет # что-то» Я получаю: «# Что-то привет»
<script>
import At from 'vue-at'
export default {
components: { At },
data() {
return { vmodel: '', };
},
methods: {
highlight(){
this.vmodel = this.vmodel.replace(/\B#([^ ]+)/g,"<span class='highlight-Text'>$&</span>")
}
}
</script>
Как мне манипулировать vmodel, например, добавить текст к тексту во время набора текста, чтобы он не выводил бред?