From 2100cb247dd045d87bcae4461a4b3fa364cec3a1 Mon Sep 17 00:00:00 2001 From: Xiaofeng An Date: Wed, 13 Feb 2019 07:38:13 -0500 Subject: [PATCH] resolve issue in prop binding --- .../autocomplete_input/autocomplete_input.js | 10 ++++------ .../autocomplete_input/autocomplete_input.vue | 8 ++++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/components/autocomplete_input/autocomplete_input.js b/src/components/autocomplete_input/autocomplete_input.js index 404a8cdb..cbe7e622 100644 --- a/src/components/autocomplete_input/autocomplete_input.js +++ b/src/components/autocomplete_input/autocomplete_input.js @@ -24,8 +24,7 @@ const AutoCompleteInput = { data () { return { caret: 0, - highlighted: 0, - text: this.value + highlighted: 0 } }, computed: { @@ -42,7 +41,7 @@ const AutoCompleteInput = { return (this.wordAtCaret || {}).word || '' }, wordAtCaret () { - const word = Completion.wordAtPosition(this.text, this.caret - 1) || {} + const word = Completion.wordAtPosition(this.value, this.caret - 1) || {} return word }, candidates () { @@ -113,7 +112,7 @@ const AutoCompleteInput = { } }, replace (replacement) { - this.text = Completion.replaceWord(this.text, this.wordAtCaret, replacement) + this.$emit('input', Completion.replaceWord(this.value, this.wordAtCaret, replacement)) const el = this.$el.querySelector('textarea') el.focus() this.caret = 0 @@ -125,8 +124,7 @@ const AutoCompleteInput = { e.preventDefault() const candidate = this.candidates[this.highlighted] const replacement = candidate.utf || (candidate.screen_name + ' ') - this.text = Completion.replaceWord(this.text, this.wordAtCaret, replacement) - this.$emit('input', this.text) + this.$emit('input', Completion.replaceWord(this.value, this.wordAtCaret, replacement)) const el = this.$el.querySelector('textarea') || this.$el.querySelector('input') el.focus() this.caret = 0 diff --git a/src/components/autocomplete_input/autocomplete_input.vue b/src/components/autocomplete_input/autocomplete_input.vue index 56233535..3af33562 100644 --- a/src/components/autocomplete_input/autocomplete_input.vue +++ b/src/components/autocomplete_input/autocomplete_input.vue @@ -4,8 +4,8 @@ v-if="multiline" ref="textarea" rows="1" - :value="text" :class="classObj" :id="id" :placeholder="placeholder" - @input="text = $event.target.value, $emit('input', $event.target.value), autoResize && resize($event)" + :value="value" :class="classObj" :id="id" :placeholder="placeholder" + @input="$emit('input', $event.target.value), autoResize && resize($event)" @click="setCaret" @keyup="setCaret" @keydown.down="cycleForward" @@ -22,8 +22,8 @@