收藏
回答

picker multiSelector 第一个确定 第二个不跟着刷新?

a.wxml

<view class="section">
    <view class="section__title">多列选择器</view>
    <picker mode="multiSelector"  
    bindcolumnchange="bindMultiPickerColumnChange"
    bindchange="bindMultiPickerChange" value="{{multiIndex}}" range="{{multiArray}}">
        <view class="picker">
            当前选择:{{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}}
        </view>
    </picker>
</view>

js文件

// pages/a/a.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        multiArray: [
            [
                "(01)哲学",
                "(02)经济学",
                "(03)法学",
                "(04)教育学",
                "(05)文学",
                "(06)历史学",
                "(07)理学",
                "(08)工学",
                "(09)农学",
                "(10)医学",
                "(11)军事学",
                "(12)管理学",
                "(13)艺术学",
                "(14)交叉学科",
                "(yzxw)专业学位",
            ],
            ["(0101)哲学"],
        ],
        index: 0,
        objectMultiArray: [
            [{
                    id: 1,
                    name: "(01)哲学",
                },
                {
                    id: 2,
                    name: "(02)经济学",
                },
                {
                    id: 3,
                    name: "(03)法学",
                },
                {
                    id: 4,
                    name: "(04)教育学",
                },
                {
                    id: 5,
                    name: "(05)文学",
                },
                {
                    id: 6,
                    name: "(06)历史学",
                },
                {
                    id: 7,
                    name: "(07)理学",
                },
                {
                    id: 8,
                    name: "(08)工学",
                },
                {
                    id: 9,
                    name: "(09)农学",
                },
                {
                    id: 10,
                    name: "(10)医学",
                },
                {
                    id: 11,
                    name: "(11)军事学",
                },
                {
                    id: 12,
                    name: "(12)管理学",
                },
                {
                    id: 13,
                    name: "(13)艺术学",
                },
                {
                    id: 14,
                    name: "(14)交叉学科",
                },
                {
                    id: 15,
                    name: "(yzxw)专业学位",
                }
            ],
            {
                id: 1,
                name: "(0101)哲学"
            }
        ],
        multiIndex: [0, 0] //初始值
    },

    bindMultiPickerChange: function (e) {
        console.log("bindMultiPickerChange")
        console.log(e)
        this.setData({
            multiIndex: e.detail.value
        })
    },

    bindMultiPickerColumnChange: function (e) {
        console.log("bindMultiPickerColumnChange")
        console.log(e)
        var multiArray = this.data.multiArray
        var obj = e.detail
        if (obj.column==0) {
            switch (e.detail.value[0]) {
                case 0:
                    multiArray = [
                        "(0101)哲学"
                    ];
                    break;
                case 1:
                    multiArray = [
                        '(0201)理论经济学',
                        '(0202)应用经济学',
                        '(0270)统计学'
                    ];
                    break;
                case 2:
                    multiArray = [
                        "(0301)法学",
                        "(0302)政治学",
                        "(0303)社会学",
                        "(0304)民族学",
                        "(0305)马克思主义理论",
                        "(0306)公安学",
                        "(0351)法律",
                        "(0352)社会工作",
                        "(0353)警务",
                    ];
                    break;
                case 3:
                    multiArray = [
                        "(0401)教育学",
                        "(0402)心理学",
                        "(0403)体育学",
                        "(0451)教育",
                        "(0452)体育",
                        "(0453)汉语国际教育",
                        "(0454)应用心理",
                    ];
                    break;
                case 4:
                    multiArray = [
                        "(0501)中国语言文学",
                        "(0502)外国语言文学",
                        "(0503)新闻传播学",
                        "(0551)翻译",
                        "(0552)新闻与传播",
                        "(0553)出版",
                    ];
                    break;
                case 5:
                    multiArray = [
                        "(0601)考古学",
                        "(0602)中国史",
                        "(0603)世界史",
                        "(0651)文物与博物馆",
                    ];
                    break;
                case 6:
                    multiArray = [
                        "(0701) 数学",
                        "(0702)物理学",
                        "(0703)化学",
                        "(0704)天文学",
                        "(0705)地理学",
                        "(0706)大气科学",
                        "(0707)海洋科学",
                        "(0708)地球物理学",
                        "(0709)地质学",
                        "(0710)生物学",
                        "(0711)系统科学",
                        "(0712)科学技术史",
                        "(0713)生态学",
                        "(0714)统计学",
                        "(0771)心理学",
                        "(0772)力学",
                        "(0773)材料科学与工程",
                        "(0774)电子科学与技术",
                        "(0775)计算机科学与技术",
                        "(0776)环境科学与工程",
                        "(0777)生物医学工程",
                        "(0778)基础医学",
                        "(0779)公共卫生与预防医学",
                        "(0780)药学",
                        "(0781)中药学",
                        "(0782)医学技术",
                        "(0783)护理学",
                    ];
                    break;
                case 7:
                    multiArray = [
                        "(0801)力学",
                        "(0802)机械工程",
                        "(0803)光学工程",
                        "(0804)仪器科学与技术",
                        "(0805)材料科学与工程",
                        "(0806)冶金工程",
                        "(0807)动力工程及工程热物理",
                        "(0808)电气工程",
                        "(0809)电子科学与技术",
                        "(0810)信息与通信工程",
                        "(0811)控制科学与工程",
                        "(0812)计算机科学与技术",
                        "(0813)建筑学",
                        "(0814)土木工程",
                        "(0815)水利工程",
                        "(0816)测绘科学与技术",
                        "(0817)化学工程与技术",
                        "(0818)地质资源与地质工程",
                        "(0819)矿业工程",
                        "(0820)石油与天然气工程",
                        "(0821)纺织科学与工程",
                        "(0822)轻工技术与工程",
                        "(0823)交通运输工程",
                        "(0824)船舶与海洋工程",
                        "(0825)航空宇航科学与技术",
                        "(0826)兵器科学与技术",
                        "(0827)核科学与技术",
                        "(0828)农业工程",
                        "(0829)林业工程",
                        "(0830)环境科学与工程",
                        "(0831)生物医学工程",
                        "(0832)食品科学与工程",
                        "(0833)城乡规划学",
                        "(0834)风景园林学",
                        "(0835)软件工程",
                        "(0836)生物工程",
                        "(0837)安全科学与工程",
                        "(0838)公安技术",
                        "(0839)网络空间安全",
                        "(0851)建筑学",
                        "(0853)城市规划",
                        "(0854)电子信息",
                        "(0855)机械",
                        "(0856)材料与化工",
                        "(0857)资源与环境",
                        "(0858)能源动力",
                        "(0859)土木水利",
                        "(0860)生物与医药",
                        "(0861)交通运输",
                        "(0870)科学技术史",
                        "(0871)管理科学与工程",
                        "(0872)设计学",
                    ];
                    break;
                case 8:
                    multiArray = ["(0901) 作物学 ",
                        "(0902)园艺学",
                        "(0903)农业资源与环境",
                        "(0904)植物保护",
                        "(0905)畜牧学",
                        "(0906)兽医学",
                        "(0907)林学",
                        "(0908)水产",
                        "(0909)草学",
                        "(0951)农业",
                        "(0952)兽医",
                        "(0953)风景园林",
                        "(0954)林业",
                        "(0970)科学技术史",
                        "(0971)环境科学与工程",
                        "(0972)食品科学与工程",
                        "(0973)风景园林学",
                    ];
                    break;
                case 9:
                    multiArray = [
                        "(1001)基础医学",
                        "(1002)临床医学",
                        "(1003)口腔医学",
                        "(1004)公共卫生与预防医学",
                        "(1005)中医学",
                        "(1006)中西医结合",
                        "(1007)药学",
                        "(1008)中药学",
                        "(1009)特种医学",
                        "(1010)医学技术",
                        "(1011)护理学",
                        "(1051)临床医学",
                        "(1052)口腔医学",
                        "(1053)公共卫生",
                        "(1054)护理",
                        "(1055)药学",
                        "(1056)中药学",
                        "(1057)中医",
                        "(1071)科学技术史",
                        "(1072)生物医学工程",
                    ];
                    break;
                case 10:
                    multiArray = ["(1101)军事思想及军事历史",
                        "(1102)战略学",
                        "(1103)战役学",
                        "(1104)战术学",
                        "(1105)军队指挥学",
                        "(1106)军事管理学",
                        "(1107)军队政治工作学",
                        "(1108)军事后勤学",
                        "(1109)军事装备学",
                        "(1110)军事训练学",
                        "(1151)军事",
                    ];
                    break;
                case 11:
                    multiArray = [
                        "(1201)管理科学与工程",
                        "(1202)工商管理",
                        "(1203)农林经济管理",
                        "(1204)公共管理",
                        "(1205)图书情报与档案管理",
                        "(1251)工商管理",
                        "(1252)公共管理",
                        "(1253)会计",
                        "(1254)旅游管理",
                        "(1255)图书情报",
                        "(1256)工程管理",
                    ];
                    break;

                case 12:
                    multiArray = [
                        "(1301)艺术学理论",
                        "(1302)音乐与舞蹈学",
                        "(1303)戏剧与影视学",
                        "(1304)美术学",
                        "(1305)设计学",
                        "(1351)艺术",
                    ];
                    break;
                case 13:
                    multiArray = [
                        "(1401)集成电路科学与工程",
                        "(1402)国家安全学",
                    ];
                    break;
                case 14:
                    multiArray = [
                        "(0251)金融",
                        "(0252)应用统计",
                        "(0253)税务",
                        "(0254)国际商务",
                        "(0255)保险",
                        "(0256)资产评估",
                        "(0257)审计",
                        "(0351)法律",
                        "(0352)社会工作",
                        "(0353)警务",
                        "(0451)教育",
                        "(0452)体育",
                        "(0453)汉语国际教育",
                        "(0454)应用心理",
                        "(0551)翻译",
                        "(0552)新闻与传播",
                        "(0553)出版",
                        "(0651)文物与博物馆",
                        "(0851)建筑学",
                        "(0853)城市规划",
                        "(0854)电子信息",
                        "(0855)机械",
                        "(0856)材料与化工",
                        "(0857)资源与环境",
                        "(0858)能源动力",
                        "(0859)土木水利",
                        "(0860)生物与医药",
                        "(0861)交通运输",
                        "(0951)农业",
                        "(0952)兽医",
                        "(0953)风景园林",
                        "(0954)林业",
                        "(1051)临床医学",
                        "(1052)口腔医学",
                        "(1053)公共卫生",
                        "(1054)护理",
                        "(1055)药学",
                        "(1056)中药学",
                        "(1057)中医",
                        "(1151)军事",
                        "(1251)工商管理",
                        "(1252)公共管理",
                        "(1253)会计",
                        "(1254)旅游管理",
                        "(1255)图书情报",
                        "(1256)工程管理",
                        "(1351)艺术",
                    ];
                    break;
            }
        }
        console.log(this.data.multiArray)
        this.setData({
            multiArray: multiArray
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容