diff --git a/gh-pages-src/pages/dev/Example5.vue b/gh-pages-src/pages/dev/Example5.vue index f4dcfc81..05b28209 100644 --- a/gh-pages-src/pages/dev/Example5.vue +++ b/gh-pages-src/pages/dev/Example5.vue @@ -9,12 +9,10 @@ Selected: {{ selected || 'not chosen' }}.

- {{ selectTextOnFocus }} - import { CoolSelect } from '../../main' +const items2 = [{ 'first_name': 'one' }, { 'first_name': 'two' }, { 'first_name': 'three' }, { 'first_name': 'four' }, { 'first_name': 'five' }] + export default { components: { CoolSelect }, data: () => ({ @@ -129,8 +129,10 @@ export default { readonly: false, disableSearch: false, selectTextOnFocus: false, - selected: null, items: '[{"first_name":"one"}, {"first_name":"two"}, {"first_name":"three"}, {"first_name":"four"}, {"first_name":"five"}]', + items2, + selected: null, + selected2: items2[0], errorMessage: null }), watch: { diff --git a/src/component.vue b/src/component.vue index 6460acd9..ac6c1ef3 100644 --- a/src/component.vue +++ b/src/component.vue @@ -233,7 +233,9 @@ export default { resize: this.menuCalculatePos }, menuCurrentPosition: this.menuDefaultPosition, - lastMenuDynamicStyles: null + lastMenuDynamicStyles: null, + // чтобы не вызывался input из-за selectedItem (в created вызывается setSelectedItemByValue) + ignoreFirstInputEvent: true } }, computed, @@ -248,6 +250,12 @@ export default { this.setSelectedItemByValue() }, selectedItem () { + if (this.ignoreFirstInputEvent) { + this.ignoreFirstInputEvent = false + + return + } + this.selectedItemByArrows = null this.$emit('input', this.currentItemValue) diff --git a/src/props.js b/src/props.js index 17327802..87d8ae79 100644 --- a/src/props.js +++ b/src/props.js @@ -8,7 +8,7 @@ export default { }, items: { type: [Array, String], - required: true, + required: false, note: 'array of suggestions (data fetched from backend, etc).' }, itemText: {