From 2100cb247dd045d87bcae4461a4b3fa364cec3a1 Mon Sep 17 00:00:00 2001 From: Xiaofeng An Date: Wed, 13 Feb 2019 07:38:13 -0500 Subject: [PATCH 1/3] 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 @@ Date: Wed, 13 Feb 2019 07:38:53 -0500 Subject: [PATCH 2/3] resolve issue related to event handler --- .../autocomplete_input/autocomplete_input.vue | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/autocomplete_input/autocomplete_input.vue b/src/components/autocomplete_input/autocomplete_input.vue index 3af33562..1e26b76b 100644 --- a/src/components/autocomplete_input/autocomplete_input.vue +++ b/src/components/autocomplete_input/autocomplete_input.vue @@ -13,11 +13,11 @@ @keydown.shift.tab="cycleBackward" @keydown.tab="cycleForward" @keydown.enter="replaceCandidate" - @drop="drop && drop()" - @dragover.prevent="dragoverPrevent && dragoverPrevent()" - @paste="paste && paste()" - @keydown.meta.enter="keydownMetaEnter && keydownMetaEnter()" - @keyup.ctrl.enter="keyupCtrlEnter && keyupCtrlEnter()"> + @drop="drop && drop($event)" + @dragover.prevent="dragoverPrevent && dragoverPrevent($event)" + @paste="paste && paste($event)" + @keydown.meta.enter="keydownMetaEnter && keydownMetaEnter($event)" + @keyup.ctrl.enter="keyupCtrlEnter && keyupCtrlEnter($event)"> + @drop="drop && drop($event)" + @dragover.prevent="dragoverPrevent && dragoverPrevent($event)" + @paste="paste && paste($event)" + @keydown.meta.enter="keydownMetaEnter && keydownMetaEnter($event)" + @keyup.ctrl.enter="keyupCtrlEnter && keyupCtrlEnter($event)"/>
From 19dd36945ab91ad3a1cff9ddbbfadea437b75d6f Mon Sep 17 00:00:00 2001 From: Xiaofeng An Date: Wed, 13 Feb 2019 15:39:37 -0500 Subject: [PATCH 3/3] resolve focus issue in the auto-complete for name field --- src/components/autocomplete_input/autocomplete_input.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/autocomplete_input/autocomplete_input.js b/src/components/autocomplete_input/autocomplete_input.js index cbe7e622..1544e7bb 100644 --- a/src/components/autocomplete_input/autocomplete_input.js +++ b/src/components/autocomplete_input/autocomplete_input.js @@ -113,7 +113,7 @@ const AutoCompleteInput = { }, replace (replacement) { this.$emit('input', Completion.replaceWord(this.value, this.wordAtCaret, replacement)) - const el = this.$el.querySelector('textarea') + const el = this.$el.querySelector('textarea') || this.$el.querySelector('input') el.focus() this.caret = 0 },