不用switch要怎么写

// pages/tools/szuDocBoard/szuDocBoard.js
const departments = require("./departments.js").default
var app = getApp( )
const multiArray = require("./departments.js").default.multiArray
Page({

  /**
   * 页面的初始数据
   */
  data: {
    docs: [],
    index: 0,
    
   multiArray,
    multiIndex: [0, 0],
    
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
    wx.request({
      url: 'https://api.szuea.com/miniprogram/szudoc',
      success: res => {
        console.log(res.data)
        this.setData({
          docs: res.data
        })
      }
    })
  },

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

  },

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

  },

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

  },

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

    
  },

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

  },

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

  },

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

  },
  handleItemTap(e){
    wx.setClipboardData({
      data: "www1.szu.edu.cn/board/view.asp?id="+e.currentTarget.dataset.index,
      success (res) {
        wx.showToast({
          title: '链接已复制',
          duration: 1500
        })
        wx.getClipboardData({
          success (res) {
            console.log(res.data) // data
          }
        })
      }
    })
    
  },
/**
   * 公文通的分类功能
   */
  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:
        let keyArr = Object.keys(departments);
        switch (data.multiIndex[0]) {
          case 0:
            data.multiArray[1] = departments[keyArr[0]]
            break;
          case 1:
            data.multiArray[1] = departments[keyArr[1]]
            break;
          case 2:
            data.multiArray[1] = departments[keyArr[2]]
            break;
          case 3:
            data.multiArray[1] = departments[keyArr[3]]
        }
        data.multiIndex[1] = 0;
        data.multiIndex[2] = 0;
        break;

    }

    console.log(data.multiIndex);
    this.setData(data);

  },


  bindMultiPickerChange: function (e) {
   
    console.log('的列为', e.detail.value[0], ',值为', e.detail.value[1]);
    var data = {
      multiArray: this.data.multiArray,
      multiIndex: this.data.multiIndex
    };
    
    data.multiIndex[e.detail.value[0]] = e.detail.value[1];
    switch (e.detail.value[0]) {
      case 0:
        let keyArr = Object.keys(departments); // 这里返回的是["学院", "行政", "研究", "其他"] 
        // console.log(keyArr)
        // 这两句的效果跟下面switch case里面的一模一样

        let index = data.multiIndex[0];
        data.multiArray[1] = departments[keyArr[index]];

        // switch (data.multiIndex[0]) {
        //   case 0:
        //     data.multiArray[1] = departments[keyArr[0]] 
        //     break;
        //   case 1:
        //     data.multiArray[1] = departments[keyArr[1]]
        //     break;
        //   case 2:
        //     data.multiArray[1] = departments[keyArr[2]]
        //     break;
        //   case 3:
        //     data.multiArray[1] = departments[keyArr[3]]
        // }
        data.multiIndex[1] = 0;
        data.multiIndex[2] = 0;
        break;

    }
    let that=this;
    this.setData(data);
    console.log(data.multiArray);
    
  
    wx.request({
      url: 'https://api.szuea.com/miniprogram/szudoc?dpm=' +that.data.multiArray[1][e.detail.value[1]],
      success: res => {
        console.log(res.data)
        that.setData({
          docs: res.data
        })
      }
    })
    console.log('picker发送选择改变,携带值为',departments)
    this.setData({
      multiIndex: e.detail.value
    })

    
    
  },




})


						

export default {
  "学院": [
    
    '电子与信息工程学院',
    '计算机与软件学院',
    '建筑与城市规划学院',
    '土木与交通工程学院',
    '物理与光电工程学院',
    '化学与环境工程学院',
    '生命与海洋科学学院',
    '机电与控制工程学院',
    '高等研究院',
    '金融科技学院(南特商学院)',
    '数学与统计学院',
    '经济学院',
    '法学院',
    '人文学院',
    '外国语学院',
    '传播学院',
    '材料学院',
    '管理学院',
    '国际交流学院',
    '继续教育学院',
    '马克思主义学院',
    '师范学院(教育学部)',
    '艺术学部',
    '医学部“
  ],
  '行政': [
    '党政办公室',
    '档案馆',
    '组织部',
    '统战部',
    '宣传部',
    '纪委办',
    '监察室',
    '校工会',
    '校团委',
    '教务部',
    '招生办公室',
    '研究生院',
    '党委研工部',
    '学科建设与发展办公室',
    '社会科学部',
    '学报社科版',
    '科学技术部',
    '学报理工版',
    '学生部',
    '党委学工部',
    '国际交流与合作部',
    '人力资源部',
    '党委教师工作部',
    '计划财务部',
    '招投标管理中心',
    '实验室与国有资产管理部',
    '审计室',
    '后勤部',
    '后勤部党总支',
    '基建部',
    '安全保卫部',
    '离退休办公室',
    '校友联络部',
    '教育发展基金会',
    '机关党委',
    '督导室',
    '丽湖校区管理办公室',
    '马克思主义学院党总支',
    '体育部党总支',
    '图书馆党总支',
    '信息中心',
    '信息中心党总支',
    '资产经营公司',
    '技术转化中心',
  ],
  '研究': [
    '中国经济特区研究中心',
    '港澳基本法研究中心',
    '文化产业研究院',
    '美学与文艺批评研究院',
    '饶宗颐文化研究院',
    '城市治理研究院',
    '中国海外利益研究院',
    '微纳光电子学研究院',
    '脑疾病与认知科学研究中心'
  ],
  '其它': [
    '体育部',
    '深大总医院',
    '校医院',
    '深大师院附中',
    '图书馆'
  ],


  /*首次触发的数据*/
  multiArray: [['学院', '行政', '研究', '其他'], ['电子与信息工程学院',
      '计算机与软件学院',
      '建筑与城市规划学院',
      '土木与交通工程学院',
      '物理与光电工程学院',
      '化学与环境工程学院',
      '生命与海洋科学学院',
      '机电与控制工程学院',
      '高等研究院',
      '金融科技学院(南特商学院)',
      '数学与统计学院',
      '经济学院',
      '法学院',
      '人文学院',
      '外国语学院',
      '传播学院',
      '材料学院',
      '管理学院',
      '国际交流学院',
      '继续教育学院',
      '马克思主义学院',
      '师范学院(教育学部)',
      '艺术学部',
      '医学部']],
   
}
<!--pages/tools/szuDocBoard/szuDocBoard.wxml-->
<view class="section">
  <picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}">
    <view class="picker">
<view class="weui-flex">
<view class="title_item">按钮</view>
<view class="title_item1">{{multiArray[0][multiIndex[0]]}}</view>
<view class="title_item2">{{multiArray[1][multiIndex[1]]}}</view>

     </view>
    </view>
  </picker>
</view>

 <!--公文通的数据渲染打印-->

<view wx:for="{{docs}}" wx:key data-index="{{item.id}}" 
bindtap = "handleItemTap" class="docs_title" ><view style=" padding-right:20px;padding-left:35rpx">
{{item.title}}</view>
<view class="blank"></view>
<view class="docs_publishTime" >
      {{item.publishTime}}
</view>

</view>

修改内容
在这里插入图片描述

发布了22 篇原创文章 · 获赞 3 · 访问量 2257

猜你喜欢

转载自blog.csdn.net/szuwaterbrother/article/details/104731269