微信小程序实现课程选择器

Stella ·
更新时间:2024-11-13
· 1166 次阅读

本文实例为大家分享了微信小程序实现课程选择器的具体代码,供大家参考,具体内容如下

话不多说,直接上效果图

代码如下

wxml

<view class="urg_input">       <picker class="gradePicker" mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}">         <input type="idcard" placeholder="请选择您的所授学科" value="{{teachPlaceholder}}"  disabled></input>       </picker> </view>

js

import { primarySchool, juniorSchool, highSchool, bigSchool} from './AllDataConfig.js' Page({   data: {     multiArray: [       ['小学', '初中', '高中', '大学'],       ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级'],       primarySchool[0]     ],     multiIndex: [0, 0, 0],     teachPlaceholder: '',   },   /**    * 学科选择    */   bindMultiPickerChange: function (e) {     // 确定之后获取选中的课程     // console.log('picker发送选择改变,携带值为', e.detail.value)     // 返回所选的三个参数     this.setData({       multiIndex: e.detail.value     })     let jiBie = this.data.multiArray[0][this.data.multiIndex[0]];     let grade = this.data.multiArray[1][this.data.multiIndex[1]];     let course = this.data.multiArray[2][this.data.multiIndex[2]];     let teachCourse = jiBie + '' + grade + '' + course;     this.setData({       teachPlaceholder: teachCourse     })   },   bindMultiPickerColumnChange: function (e) {     // console.log('修改的列为', e.detail.column, ',值为', e.detail.value);     var data = {       multiArray: this.data.multiArray,       multiIndex: this.data.multiIndex     };     data.multiIndex[e.detail.column] = e.detail.value;     // 第几列判断 只判断两列,第一列的级别,第二列的年级     switch (e.detail.column) {       // 选择第一列,设置第二列对应的年级       case 0:         switch (data.multiIndex[0]) {           // 小学           case 0:             data.multiArray[1] = ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级'];             data.multiArray[2] = primarySchool[0];             break;           // 初中           case 1:             data.multiArray[1] = ['初一', '初二', '初三'];             data.multiArray[2] = juniorSchool[0];             break;           // 高中           case 2:             data.multiArray[1] = ['高一', '高二', '高三'];             data.multiArray[2] = highSchool[0];             break;           // 大学           case 3:             data.multiArray[1] = ['大一', '大二', '大三', '大四'];             data.multiArray[2] = bigSchool[0];             break;         }         data.multiIndex[1] = 0;         data.multiIndex[2] = 0;         break;       // 选择第二列,设置对应的科目       case 1:         /**          * 选择第一列对应的级别,然后判断第二列的年级,从而设置课程          */         switch (data.multiIndex[0]) {           // 小学           case 0:             switch (data.multiIndex[1]) {               // 一年级               case 0:                 data.multiArray[2] = primarySchool[1];                 break;               // 二年级               case 1:                 data.multiArray[2] = primarySchool[2];                 break;               // 三年级               case 2:                 data.multiArray[2] = primarySchool[3];                 break;               // 四年级               case 3:                 data.multiArray[2] = primarySchool[4];                 break;               // 五年级               case 4:                 data.multiArray[2] = primarySchool[5];                 break;               // 六年级               case 5:                 data.multiArray[2] = primarySchool[6];                 break;             }             break;           // 初中           case 1:             switch (data.multiIndex[1]) {               // 初一               case 0:                 data.multiArray[2] = juniorSchool[1];                 break;               // 初二               case 1:                 data.multiArray[2] = juniorSchool[2];                 break;               // 初三               case 2:                 data.multiArray[2] = juniorSchool[3];                 break;             }             break;           // 高中           case 2:             switch (data.multiIndex[1]) {               // 高一               case 0:                 data.multiArray[2] = highSchool[1];                 break;               // 高二               case 1:                 data.multiArray[2] = highSchool[2];                 break;               // 高三               case 2:                 data.multiArray[2] = highSchool[3];                 break;             }             break;           // 大学           case 3:             switch (data.multiIndex[1]) {               // 大一               case 0:                 data.multiArray[2] = bigSchool[1];                 break;               // 大二               case 1:                 data.multiArray[2] = bigSchool[2];                 break;               // 大三               case 2:                 data.multiArray[2] = bigSchool[3];                 break;               // 大四               case 3:                 data.multiArray[2] = bigSchool[4];                 break;             }             break;         }         data.multiIndex[2] = 0;         break;     }     // console.log(data.multiIndex);     this.setData(data);   }, })

AllDataConfig.js

// 课程设置 // 小学 export const primarySchool = [   // 默认设置课程   ['语文', '数学', '英语','体育','美术','化学'],   // 一年级   ['语文', '数学', '英语'],   // 二年级   ['语文', '数学', '英语'],   // 三年级   ['语文', '数学', '英语'],   // 四年级   ['语文', '数学', '英语'],   // 五年级   ['语文', '数学', '英语'],   // 六年级   ['语文', '数学', '英语'] ] // 初中 export const juniorSchool = [   // 默认设置课程   ['语文', '数学', '英语', '美术', '音乐', '政治', '历史', '物理', '化学', '地理', '生物'],   // 初一   ['语文', '数学', '英语', '美术', '音乐', '政治', '历史', '地理', '生物'],   // 初二   ['语文', '数学', '英语', '政治', '历史', '物理', '化学', '地理', '生物'],   // 初三   ['语文', '数学', '英语', '政治', '历史', '物理', '化学'], ] // 高中 export const highSchool = [   // 默认设置课程   ['语文', '数学', '英语', '政治', '历史', '地理', '物理', '化学', '生物'],   // 高一   ['高一', '语文', '数学', '英语', '政治', '历史', '地理', '物理', '化学', '生物'],   // 高二   ['高二', '语文', '数学', '英语', '政治', '历史', '地理', '物理', '化学', '生物'],   // 高三   ['高三', '语文', '数学', '英语', '政治', '历史', '地理', '物理', '化学', '生物'], ] export const bigSchool = [   // 默认设置课程   ['数学', '英语', '美术', '计算机', '政治'],   // 大一   ['大一', '数学', '英语', '美术', '计算机', '政治'],   // 大二   ['大二', '数学', '英语', '美术', '计算机', '政治'],   // 大三   ['大三', '数学', '英语', '美术', '计算机', '政治'],   // 大四   ['大四', '数学', '英语', '美术', '计算机', '政治'], ]



微信 小程序 选择器 选择 程序 课程 微信小程序

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章