iview/examples/routers/auto-complete.vue

52 lines
1.4 KiB
Vue
Raw Normal View History

2017-08-23 14:42:54 +08:00
<template>
2019-01-07 14:29:32 +08:00
<div style="margin: 100px;width: 200px;">
2019-10-14 11:42:58 +08:00
<AutoComplete
placement="top"
transfer
v-model="value"
icon="ios-search"
:data="data"
@on-search="onHandleSearch"
@on-change="onChange"
@on-select="onSelect"
>
2019-01-07 14:29:32 +08:00
<!--<Option v-for="item in data" :value="item" :label="item" :key="item">-->
2019-10-14 11:42:58 +08:00
<!--<span style="color: red">{{ item }}</span>-->
2019-01-07 14:29:32 +08:00
<!--</Option>-->
</AutoComplete>
</div>
2017-08-23 14:42:54 +08:00
</template>
<script>
2019-01-07 14:29:32 +08:00
export default {
2019-10-14 11:42:58 +08:00
props: {},
2019-01-07 14:29:32 +08:00
data () {
return {
2019-10-14 11:42:58 +08:00
value: "",
source: ["1", "2", "3", "11", "12", "13"],
data: []
2019-01-07 14:29:32 +08:00
};
},
computed: {},
methods: {
2019-10-14 11:42:58 +08:00
onHandleSearch (value) {
let result = [];
for (let val of this.source) {
if (val.includes(value)) {
result.push(val);
}
}
this.data = result;
},
onSelect (e) {
console.log('onSelect', e);
2019-01-07 14:29:32 +08:00
},
2019-10-14 11:42:58 +08:00
onChange (v) {
console.log("onChange", v);
2019-01-07 14:29:32 +08:00
},
fm (value, item) {
return item.toUpperCase().indexOf(value.toUpperCase()) !== -1;
}
}
2017-08-23 14:42:54 +08:00
};
2019-01-07 12:24:48 +08:00
</script>