界面操作触发大分类id改变,根据id获取二级分类的数据进行绑定显示。
html:
< div style ="overflow: hidden;float: left;padding-left: 38px" >
< div style ="margin-bottom: 10px;display:inline-block;" >
< span >   选择大分类: </ span >
< div class ="select" >
< select name ='make' [(ngModel)] ="matCase.bigType" (change) ="getSmallTypes();" >
< option *ngFor ="let i of bigTypes" value ='{{i.id}}' >
{{i.name}}
</ option >
</ select >
</ div >
</ div >
< div style ="margin-bottom: 10px;display:inline-block;" >
< span >   选择二级分类: </ span >
< div class ="select" >
< select name ='make' [(ngModel)] ="matCase.smallType" >
< option *ngFor ="let i of smallTypes" value ='{{i.id}}' >
{{i.name}}
</ option >
</ select >
</ div >
</ div >
</ div >
ts:构建两个函数,大分类在
ngOnInit() {}函数初始化的时候获取对应的值;
/*
* 发布素材需要关联一个分类,
* 大分类必选,二级分类非必选,需要做成联动效果
* 选择一级分类后,动态得到二级分类下的数据,没有就显示空
* */
bigTypes: any = []
smallTypes: any = []
// 分类列表
getBigTypes(): void {
let sendData = {
created: '' ,
sort: '' ,
name: '' ,
}
let connect = this ._api.getApi({
apiUrl: api.getBigList,
sendData: sendData,
type: 'get' ,
})
connect.then(res => {
if (res && res.data) {
this .bigTypes = res.data
} else {
this .bigTypes = []
}
})
}
// 获得小分类
getSmallTypes(): void {
console.log( 'e.target.value', this .matCase.bigType);
let n = this .matCase.bigType;
let s = {
id: n, // 大分类id
}
let connect = this ._api.getApi({
apiUrl: api.getCategoryByPid,
sendData: s,
type: 'get' ,
})
connect.then(res => {
if (res && res.data) {
// log(res.data, '查看小分类列表')
this .smallTypes = res.data
} else {
this .smallTypes = []
}
})
}
查看更多关于angular2 select 联动的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did222778