微信小程序---下拉框

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);
    }
  }
})
相关推荐
2501_915106321 小时前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
2501_915106321 小时前
使用 Sniffmaster TCP 抓包和 Wireshark 网络分析
网络协议·tcp/ip·ios·小程序·uni-app·wireshark·iphone
宠友信息3 小时前
2025社交+IM及时通讯社区APP仿小红书小程序
java·spring boot·小程序·uni-app·web app
“负拾捌”3 小时前
python + uniapp 结合腾讯云实现实时语音识别功能(WebSocket)
python·websocket·微信小程序·uni-app·大模型·腾讯云·语音识别
换日线°21 小时前
NFC标签打开微信小程序
前端·微信小程序
光影少年1 天前
AIGC + Taro / 小程序
小程序·aigc·taro
2501_915918411 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
2501_916007471 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
天空属于哈夫克31 天前
Go 语言实战:构建一个企微外部群“技术贴收藏夹”小程序后端
小程序·golang·企业微信
菜鸟una1 天前
【微信小程序+Taro 3+NutUI 3】input (nut-input) 、 textarea (nut-texteare)类型使用避坑
前端·vue.js·微信小程序·小程序·taro