update Select
This commit is contained in:
parent
01b54e3021
commit
ec98f3c3ae
2 changed files with 9 additions and 7 deletions
|
@ -1,5 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div style="width: 200px;margin: 100px;">
|
<div style="width: 200px;margin: 100px;">
|
||||||
|
{{ model }}
|
||||||
<i-select v-model="model" filterable remote :remote-method="remoteMethod" :loading="loading" clearable style="width:200px">
|
<i-select v-model="model" filterable remote :remote-method="remoteMethod" :loading="loading" clearable style="width:200px">
|
||||||
<i-option v-for="option in options" :value="option.value" :key="option">{{option.label}}</i-option>
|
<i-option v-for="option in options" :value="option.value" :key="option">{{option.label}}</i-option>
|
||||||
</i-select>
|
</i-select>
|
||||||
|
@ -80,7 +81,7 @@
|
||||||
return item.label.toLowerCase()
|
return item.label.toLowerCase()
|
||||||
.indexOf(query.toLowerCase()) > -1;
|
.indexOf(query.toLowerCase()) > -1;
|
||||||
});
|
});
|
||||||
}, 200);
|
}, 500);
|
||||||
} else {
|
} else {
|
||||||
this.options = [];
|
this.options = [];
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,10 +25,7 @@
|
||||||
<Icon type="arrow-down-b" :class="[prefixCls + '-arrow']" v-if="!remote"></Icon>
|
<Icon type="arrow-down-b" :class="[prefixCls + '-arrow']" v-if="!remote"></Icon>
|
||||||
</div>
|
</div>
|
||||||
<transition :name="transitionName">
|
<transition :name="transitionName">
|
||||||
<Drop v-show="(visible && options.length) ||
|
<Drop v-show="dropVisible" :placement="placement" ref="dropdown">
|
||||||
(visible && !options.length && loading) ||
|
|
||||||
(visible && remote && !loading && !options.length && query !== '')" :placement="placement" ref="dropdown">
|
|
||||||
<!--<Drop v-show="visible" :placement="placement" ref="dropdown">-->
|
|
||||||
<ul v-show="(notFound && !remote) || (remote && !loading && !options.length)" :class="[prefixCls + '-not-found']"><li>{{ localeNotFoundText }}</li></ul>
|
<ul v-show="(notFound && !remote) || (remote && !loading && !options.length)" :class="[prefixCls + '-not-found']"><li>{{ localeNotFoundText }}</li></ul>
|
||||||
<ul v-show="(!notFound && !remote) || (remote && !loading && !notFound)" :class="[prefixCls + '-dropdown-list']" ref="options"><slot></slot></ul>
|
<ul v-show="(!notFound && !remote) || (remote && !loading && !notFound)" :class="[prefixCls + '-dropdown-list']" ref="options"><slot></slot></ul>
|
||||||
<ul v-show="loading" :class="[prefixCls + '-loading']">{{ localeLoadingText }}</ul>
|
<ul v-show="loading" :class="[prefixCls + '-loading']">{{ localeLoadingText }}</ul>
|
||||||
|
@ -196,6 +193,11 @@
|
||||||
},
|
},
|
||||||
transitionName () {
|
transitionName () {
|
||||||
return this.placement === 'bottom' ? 'slide-up' : 'slide-down';
|
return this.placement === 'bottom' ? 'slide-up' : 'slide-down';
|
||||||
|
},
|
||||||
|
dropVisible () {
|
||||||
|
let status = true;
|
||||||
|
if (!this.loading && this.remote && this.query === '' && !this.options.length) status = false;
|
||||||
|
return this.visible && status;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -203,7 +205,6 @@
|
||||||
if (this.disabled) {
|
if (this.disabled) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.visible = !this.visible;
|
this.visible = !this.visible;
|
||||||
},
|
},
|
||||||
hideMenu () {
|
hideMenu () {
|
||||||
|
@ -224,7 +225,7 @@
|
||||||
child.$children.forEach((innerChild) => {
|
child.$children.forEach((innerChild) => {
|
||||||
find(innerChild, cb);
|
find(innerChild, cb);
|
||||||
});
|
});
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue