作为一个刚刚开始学习程序的菜鸟,想要设计一个这样的微信小程序功能:
两个picker,一个picker改变的时候,另一个picker切换到相应的内容上去。
逻辑:很简单,没有什么可说的,肯定是使用if 、switch之类的语句
问题:
①在切换内容的时候只能使用this.setData({})才能改变wxml的内容,除此之外没办法.........
②switch、if语句内进行赋值之后,内部的赋值没办法传递给this.setData({})内的wxml的变量,switch、if的内部赋值都是局域变量赋值..........
③刚开始时候以为是先写this.setData({}),在里面编写if、switch,发现报错,严重报错;后来才发现,只能是if、switch里面包含this.setData
最后的代码是:
bindPickerChange: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) //根据科目选择进行章节调用 let Peo_array = array[e.detail.value].id switch(Peo_array){ case 'pu': this.setData({ Peoarray:pu }); break; case 'fa': this.setData({ Peoarray:fa }); break; case 'jiao': this.setData({ Peoarray:jiao }); break; case 'she': this.setData({ Peoarray: she }); break; case 'shi': this.setData({ Peoarray: shi }); break; case 'tong': this.setData({ Peoarray: tong }); break; case 'ce': this.setData({ Peoarray:ce }); break; } this.setData({ index: e.detail.value, }) chooseNumOne = parseInt(e.detail.value) + 1; console.log(chooseNumOne); console.log(Peoarray) }附:小程序对于变量调用这块很严格,page里面data的内容都不能在后面的bind动作里调用,需要调用的变量必须写在最外面,作为全局变量。













