78 lines
2.6 KiB
Vue
78 lines
2.6 KiB
Vue
<template>
|
|
<i-select transfer multiple v-model="m1">
|
|
<i-option v-for="item in options" :value="item.value" :key="item.value">{{ item.label }}</i-option>
|
|
</i-select>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
data () {
|
|
return {
|
|
m1: [],
|
|
showModal: false,
|
|
showModal2: false,
|
|
options: [
|
|
{
|
|
value: 'beijing',
|
|
label: '北京市'
|
|
},
|
|
{
|
|
value: 'shanghai',
|
|
label: '上海市'
|
|
},
|
|
{
|
|
value: 'shenzhen',
|
|
label: '深圳市'
|
|
},
|
|
{
|
|
value: 'hangzhou',
|
|
label: '杭州市'
|
|
},
|
|
{
|
|
value: 'nanjing',
|
|
label: '南京市'
|
|
},
|
|
{
|
|
value: 'chongqing',
|
|
label: '重庆市'
|
|
}
|
|
]
|
|
}
|
|
},
|
|
methods: {
|
|
remoteMethod1 (query) {
|
|
if (query !== '') {
|
|
this.loading1 = true;
|
|
setTimeout(() => {
|
|
this.loading1 = false;
|
|
const list = this.list.map(item => {
|
|
return {
|
|
value: item,
|
|
label: item
|
|
};
|
|
});
|
|
this.options1 = list.filter(item => item.label.toLowerCase().indexOf(query.toLowerCase()) > -1);
|
|
}, 200);
|
|
} else {
|
|
this.options1 = [];
|
|
}
|
|
},
|
|
remoteMethod2 (query) {
|
|
if (query !== '') {
|
|
this.loading2 = true;
|
|
setTimeout(() => {
|
|
this.loading2 = false;
|
|
const list = this.list.map(item => {
|
|
return {
|
|
value: item,
|
|
label: item
|
|
};
|
|
});
|
|
this.options2 = list.filter(item => item.label.toLowerCase().indexOf(query.toLowerCase()) > -1);
|
|
}, 200);
|
|
} else {
|
|
this.options2 = [];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|