diff --git a/src/client/app/common/views/components/ui/select.vue b/src/client/app/common/views/components/ui/select.vue index e8b45a4a29..ec5145ca30 100644 --- a/src/client/app/common/views/components/ui/select.vue +++ b/src/client/app/common/views/components/ui/select.vue @@ -5,10 +5,9 @@ <span class="label" ref="label"><slot name="label"></slot></span> <div class="prefix" ref="prefix"><slot name="prefix"></slot></div> <select ref="input" - :value="v" + v-model="v" :required="required" :disabled="disabled" - @input="$emit('input', $event.target.value)" @focus="focused = true" @blur="focused = false" > @@ -56,20 +55,22 @@ export default Vue.extend({ }, data() { return { - v: this.value, focused: false }; }, computed: { + v: { + get() { + return this.value; + }, + set(v) { + this.$emit('input', v); + } + }, filled(): boolean { return this.v != '' && this.v != null; } }, - watch: { - value(v) { - this.v = v; - } - }, mounted() { if (this.$refs.prefix) { this.$refs.label.style.left = (this.$refs.prefix.offsetLeft + this.$refs.prefix.offsetWidth) + 'px';