微信小程序 picker-view 组件构建一个上下拖动选择器

picker-view是官方的一个选择器组件

支持多级选择 当然也可以单项选择 我们先来看看是个什么东西吧

简单写一个

wxml代码

html 复制代码
<view>
  <picker-view bindchange="pickerChange" style="width: 300rpx; height: 200rpx; font-size: 20px;">
    <!-- picker-view 的子组件 picker-view-column 表示选择器的一列 -->
    <picker-view-column>
      <!-- picker-view-column 的子组件 picker-view-column-item 表示选择器的一项 -->
      <picker-view-column-item>选项1</picker-view-column-item>
      <picker-view-column-item>选项2</picker-view-column-item>
      <picker-view-column-item>选项3</picker-view-column-item>
    </picker-view-column>
    <picker-view-column>
      <picker-view-column-item>选项A</picker-view-column-item>
      <picker-view-column-item>选项B</picker-view-column-item>
      <picker-view-column-item>选项C</picker-view-column-item>
    </picker-view-column>
  </picker-view>
</view>

js定义一个事件

javascript 复制代码
Page({
  data: {
  },
  onLoad: function () {
  },
  pickerChange(e) {
    // 通过 e.detail.value 获取选择器当前选中的索引值
    const value = e.detail.value;
    console.log("选择器的值:", value);
  }
});

然后 界面效果就是这样的

我们可以鼠标往上拖 例如 我们第二个选择B

当我们鼠标拖动后 松开那一刻 pickerChange就会触发

他会给你一个数组 里面就对应你的子项 那么 第一个 还停在第一项 对应下标0 第二个 被我们移动到了 B位置 就是 第二个元素 1下标

然后这里 我们可以通过wx:for 来循环多数据上去

相关推荐
Devin_chen4 分钟前
Pinia 渐进式学习指南
前端·vue.js
你听得到114 分钟前
周下载60w,但是作者删库!我从本地 pub 缓存里把它救出来,顺手备份到了自己的 GitHub
前端·flutter
坐吃山猪5 分钟前
Python09_正则表达式
开发语言·python·正则表达式
PeterMap6 分钟前
Vue组合式API响应式状态声明:ref与reactive实战解析
前端·vue.js
AI科技星9 分钟前
v=c 物理理论核心参数转换表达式大全
开发语言·线性代数·算法·数学建模·平面
CodeGuru10 分钟前
UniApp Vue3 生成海报并分享到朋友圈
前端
三原11 分钟前
附源码:三原管理系统新增俩种常用布局
java·前端·vue.js
布局呆星11 分钟前
Vue3 | 组件化开发---组件插槽与通信
前端·javascript·vue.js
DyLatte13 分钟前
当我想把所有角色都做好时,就开始内耗了
前端·后端·程序员
oldmao_200014 分钟前
第八章 设计并发代码
开发语言·c++·多线程编程·并发编程