Fixed two way binding

This commit is contained in:
2022-07-09 19:49:29 +03:00
parent be21eb3897
commit 2bbd11a7ed

View File

@@ -27,16 +27,21 @@ export default {
}, },
data () { data () {
return { return {
focused: false, focused: false
body: ''
} }
}, },
computed: { computed: {
valueModel: {
get () { return this.value },
set (value) {
this.$emit('input', value)
}
},
showPlaceholder () { showPlaceholder () {
return !this.body.replace(/^\s*\n/gm, '').length return !this.valueModel.replace(/^\s*\n/gm, '').length
}, },
computedBody () { computedBody () {
return highlight(this.body, { return highlight(this.valueModel, {
extractUrlsWithoutProtocol: this.extractUrlsWithoutProtocol extractUrlsWithoutProtocol: this.extractUrlsWithoutProtocol
}) })
} }
@@ -64,15 +69,14 @@ export default {
}, },
clear () { clear () {
this.$refs.mbody.innerText = '' this.$refs.mbody.innerText = ''
this.body = '' this.valueModel = ''
}, },
onKeyUp (e) { onKeyUp (e) {
let caretPosition = this.getCaretPos() let caretPosition = this.getCaretPos()
if (e.keyCode === 13) { // Enter key if (e.keyCode === 13) { // Enter key
caretPosition++ caretPosition++
} }
this.body = e.target.innerText this.valueModel = e.target.innerText
this.$emit('input', this.body)
this.$nextTick(() => { this.$nextTick(() => {
this.setCaretPos(caretPosition) this.setCaretPos(caretPosition)
}) })