微信小程序---下拉框

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);
    }
  }
})
相关推荐
大黄说说2 小时前
SaaS小程序制作平台对比:码云数智、有赞、微盟
微信小程序
清风絮柳1 天前
65.少儿英语微信小程序
vue.js·spring boot·微信小程序·小程序·毕业设计
tjsoft1 天前
unigui开发微信小程序
微信小程序·小程序
m0_462803882 天前
“趣味运动会记分”功能教学指南
小程序
网络安全学习库2 天前
很喜欢Vue,但还是选择了React: AI时代的新考量
vue.js·人工智能·react.js·小程序·aigc·产品经理·ai编程
叱咤少帅(少帅)2 天前
Uniapp开发pc端,小程序和APK
小程序·uni-app
2501_915918413 天前
iOS性能测试工具 Instruments、Keymob的使用方法 不局限 FPS
android·ios·小程序·https·uni-app·iphone·webview
Chengbei113 天前
利用 LibreNMS snmpget 配置篡改实现 RCE 的完整攻击链
人工智能·web安全·网络安全·小程序·系统安全
苏灵凯3 天前
智能环境监测终端全栈设计:从单片机到微信小程序,手把手搞定!
单片机·嵌入式硬件·mcu·物联网·微信小程序·小程序·蓝牙模块
nhc0883 天前
贵阳纳海川科技有限公司・货运物流行业解决方案
科技·微信小程序·小程序·软件开发·小程序开发