ng-ytl-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
83 lines (72 loc) • 1.57 kB
text/typescript
import {Component} from '@angular/core';
const provinces = [{
value: 'zhejiang',
label: 'Zhejiang'
}, {
value: 'jiangsu',
label: 'Jiangsu'
}];
const cities = {
zhejiang: [{
value: 'hangzhou',
label: 'Hangzhou',
}, {
value: 'ningbo',
label: 'Ningbo',
isLeaf: true
}],
jiangsu: [{
value: 'nanjing',
label: 'Nanjing'
}]
};
const scenicspots = {
hangzhou: [{
value: 'xihu',
label: 'West Lake',
isLeaf: true
}],
nanjing: [{
value: 'zhonghuamen',
label: 'Zhong Hua Men',
isLeaf: true
}]
};
({
selector: 'nz-demo-cascader-lazy',
template: `
<nz-cascader
[(ngModel)]="_value"
(ngModelChange)="_console($event)"
(nzChange)="_console($event)"
(nzLoad)="loadData($event)">
</nz-cascader>`,
styles : []
})
export class NzDemoCascaderLazyComponent {
_value: any[] = null;
_console(value) {
console.log(value);
}
/** load data async */
loadData(e: {option: any, index: number, resolve: Function, reject: Function}): void {
if (e.index === -1) {
e.resolve(provinces);
return;
}
const option = e.option;
option.loading = true;
if (e.index === 0) {
setTimeout(() => {
option.loading = false;
e.resolve(cities[option.value]);
}, 1000);
}
if (e.index === 1) {
setTimeout(() => {
option.loading = false;
e.resolve(scenicspots[option.value]);
}, 1000);
}
}
}