微信小程序---下拉框

wxml:

html 复制代码
<view class="container">
  <picker style="margin-left: 20rpx;" class="picker" bindchange="bindAccountChangeCL" range-key="plateNumber" value="{{plateIndexC}}" range="{{plateindEX}}">
    <view style="float: left;line-height: 75rpx;{{plateIndexC == 0?'color:#ccc;':''}}" class="weui-input">
      {{plateindEX[plateIndexC].plateNumber}}
    </view>
  </picker>
</view>

js:

javascript 复制代码
Page({
  data: {
    res: {
      data: [
        { 
          createTime: 96,
          departureArriveTime: 85,
          destinationArriveTime: 45,
          driverId: "1928249333765070850",
          driverName: "索东成",
          plateNumber: "吉AX6019",
          vehicleId: "1336953190430212097"
        },
        { 
          createTime: 96,
          departureArriveTime: 85,
          destinationArriveTime: 45,
          driverId: "1928249333765070850",
          driverName: "索东成",
          plateNumber: "吉AX6019",
          vehicleId: "1336953190430212097"
        },
        { 
          createTime: 96,
          departureArriveTime: 85,
          destinationArriveTime: 45,
          driverId: "1928249333765070850",
          driverName: "索东成",
          plateNumber: "吉AX6019",
          vehicleId: "1336953190430212097"
        },
        { 
          createTime: 96,
          departureArriveTime: 85,
          destinationArriveTime: 45,
          driverId: "1928249333765070850",
          driverName: "索东成",
          plateNumber: "吉AX6019",
          vehicleId: "1336953190430212097"
        }
      ]
    },
    plateindEX: [],
    plateIndexC: 0
  },
  onLoad: function() {
    this.initVehicleList();
  },
  initVehicleList: function() {
    // 从res.data中提取车辆数据并映射id
    const vehicleData = this.data.res.data.map(item => ({
      id: item.vehicleId,
      plateNumber: item.plateNumber
    }));
    
    let vehicleList = [{ id: "0", plateNumber: "选择车辆" }];
    if (vehicleData && vehicleData.length > 0) {
      vehicleList = [...vehicleList, ...vehicleData];
    }
    
    // 更新数据到页面
    this.setData({
      plateindEX: vehicleList,
      plateIndexC: 0 
    });
  },
  bindAccountChangeCL: function(e) {
    console.log('车辆picker发送选择改变,携带值为', e.detail.value);
    this.setData({
      plateIndexC: e.detail.value
    })
    
    // 获取选中的车辆ID
    const selectedId = this.data.plateindEX[e.detail.value].id;
    if(selectedId !== "0") {
      // 执行选中车辆后的逻辑
      console.log('选中的车辆ID:', selectedId);
    }
  }
})
相关推荐
扶风ff1 小时前
练题簿小程序:家庭在线练题,课后复习更简单
学习·小程序
高级程序源8 小时前
django招聘网站信息爬取与分析系统79704-计算机课程设计、毕业设计
后端·python·mysql·小程序·django·flask·课程设计
StevenLdh9 小时前
第四期 · 云端同步与冲突仲裁:离线可写、多端一致的工程解法
java·微信小程序
m0_4628038810 小时前
会议签到如何设置手写签名?从创建签到到导出签名 PDF 的完整流程
微信小程序
zhangminghuan12 小时前
UniApp / 微信小程序实战拓展面试题|业务坑点、工程化、跨端踩坑(2026 前端进阶)
小程序
Kingexpand_com20 小时前
企业车队运营痛点解析:传统人工模式如何实现数字化升级
小程序·app·软件开发·app定制开发·打车用车app·车队
2601_949950631 天前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐
投票竞赛1 天前
线上投票海报生成教程,一键制作带小程序码投票海报
小程序
AI工具人PM产品经理1 天前
零基础微信小程序入门:一个真实项目的里程碑路线图
微信小程序·云开发·学习路线·零基础入门·ai 编程
海鸥两三1 天前
小程序文档预览 · 进阶面试题
小程序·uni-app·uniapp