• angular2 select 联动


     界面操作触发大分类id改变,根据id获取二级分类的数据进行绑定显示。

    html:

    <div style="overflow: hidden;float: left;padding-left: 38px">
                        <div style="margin-bottom: 10px;display:inline-block;">
                            <span>&emsp;选择大分类:</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>&emsp;选择二级分类:</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 = []
                }
            })
        }













  • 相关阅读:
    "《算法导论》之‘图’":不带权二分图最大匹配(匈牙利算法)
    "C#":MySql批量数量导入
    MySql常用操作语句(2:数据库、表管理以及数据操作)
    MySql常用操作语句(1:启动、连接数据库及用户操作)
    HTML 段落
    HTML 标题
    HTML 属性
    HTML 元素
    HTML 基础
    HTML 编辑器
  • 原文地址:https://www.cnblogs.com/zxyun/p/9543071.html
Copyright © 2020-2023  润新知