This commit is contained in:
Rookie_Zoe 2019-01-07 12:24:48 +08:00
parent de3614371e
commit 33c826ec16
2 changed files with 49 additions and 37 deletions

View file

@ -1,40 +1,41 @@
<template> <template>
<div style="margin: 100px;width: 200px;"> <div style="margin: 100px;width: 200px;">
<AutoComplete placement="top" transfer v-model="value" icon="ios-search" :data="data" @on-search="handleSearch" @on-change="hc" :filter-method="fm"> <auto-complete v-model="value" :data="data" :disabled="disabled"></auto-complete>
<!--<Option v-for="item in data" :value="item" :label="item" :key="item">-->
<!--<span style="color: red">{{ item }}</span>-->
<!--</Option>-->
</AutoComplete>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props: {
},
data() { data() {
return { return {
value: '', value: "",
data: [], disabled: false,
// data: ['Burns Bay Road', 'Downing Street', 'Wall Street'] data: []
}; };
}, },
computed: {}, methods: {},
methods: { created() {
handleSearch (value) { setTimeout(() => {
this.data = !value ? [] : [ this.value = "1.0.0.5";
value + '@qq.com', this.data = [
value + '@sina.com', "12412515",
value + '@163.com' "123444",
] "12355",
}, "12345",
hc (v) { "12312",
// console.log(v) "1234",
}, "123",
fm (value, item) { "111",
return item.toUpperCase().indexOf(value.toUpperCase()) !== -1; "5.2.3.4",
} "1.2.3.4",
"1.2.3.4.5",
"1.2.3.4.5.6",
"1.2.3.4.5.6.7",
"1.0.0.8",
"1.0.0.5",
"whb-03"
];
// this.disabled = true;
}, 1000);
} }
}; };
</script> </script>

View file

@ -635,7 +635,18 @@
}, ANIMATION_TIMEOUT); }, ANIMATION_TIMEOUT);
}, },
onQueryChange(query) { onQueryChange(query) {
if (query.length > 0 && query !== this.query) this.visible = true; if (query.length > 0 && query !== this.query) {
// in 'AutoComplete', when set an initial value asynchronously,
// the 'dropdown list' should be stay hidden.
// [issue #5150]
let isInputFocused =
document.hasFocus &&
document.hasFocus() &&
document.activeElement === this.$el.querySelector('input');
this.visible = isInputFocused;
}
this.query = query; this.query = query;
this.unchangedQuery = this.visible; this.unchangedQuery = this.visible;
this.filterQueryChange = true; this.filterQueryChange = true;