Cascader support loadData async

This commit is contained in:
梁灏 2017-05-09 15:46:08 +08:00
parent 13a940ee86
commit f7ffdac569
4 changed files with 71 additions and 15 deletions

View file

@ -15,6 +15,7 @@
<script>
import Casitem from './casitem.vue';
import Emitter from '../../mixins/emitter';
import { findComponentUpward } from '../../utils/assist';
export default {
name: 'Caspanel',
@ -56,6 +57,16 @@
handleTriggerItem (item, fromInit = false) {
if (item.disabled) return;
if (item.loading !== undefined && !item.children.length) {
const cascader = findComponentUpward(this, 'Cascader');
if (cascader && cascader.loadData) {
cascader.loadData(item, () => {
this.handleTriggerItem(item);
});
return;
}
}
// return value back recursion //
const backItem = this.getBaseItem(item);
this.tmpItem = backItem;