uni-app 内置组件:PickerView

picker-view 是嵌入页面的滚动选择器。

API

以下是 picker-view 组件的 API 介绍:

属性列表

  • value:数组,表示选择了 picker-view 中的哪一项(下标),每一列的选择项下标数组。
  • indicator-style:设置选择器中间选中框的样式。
  • indicator-class:设置选择器中间选中框的类名。
  • mask-style:设置蒙层的样式。
  • mask-class:设置蒙层的类名。

事件列表

  • change:当滚动选择时,触发 change 事件,event.detail = {value: value},其中 value 为数组,表示选择了数组中的哪个项(下标)。

示例

以下是 picker-view 组件在页面中的使用示例:

html 复制代码
<view class="picker-view">
  <picker-view indicator-style="height: 50px;" class="picker-view" value="{{value}}" bindchange="bindChange">
    <picker-view-column>
      <view v-for="(item, index) in years" :key="index">{{item}}年</view>
    </picker-view-column>
    <picker-view-column>
      <view v-for="(item, index) in months" :key="index">{{item}}月</view>
    </picker-view-column>
    <picker-view-column>
      <view v-for="(item, index) in days" :key="index">{{item}}日</view>
    </picker-view-column>
  </picker-view>
</view>

JavaScript 部分:

javascript 复制代码
export default {
  data() {
    return {
      years: ['2019', '2020', '2021', '2022'],
      months: ['01', '02', '03', '04'],
      days: ['01', '02', '03', '04', '05'],
      value: [0, 1, 2], // 默认选中的每一列的数组下标
    };
  },
  methods: {
    bindChange: function(e) {
      const val = e.detail.value
      this.value = val
    }
  }
}

在这个示例中,picker-view 创建了一个日期选择器,包含年、月、日三列数据,用户可以通过滚动每列来选择一个日期。当用户选中某一列的值时,会触发 bindChange 方法,更新 value 数组中对应列的下标。

更详细的内容请参考最新的 uni-app 官方文档

相关推荐
踩着两条虫3 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
前端毕业班4 小时前
uni-app 小程序支持 teleport 了
前端·javascript·vue.js
妙码生花6 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(二十一):网络请求封装优化
前端·javascript·vue.js
sowhat8810 小时前
Vue3+vite+Ts+pinia—第八章 生命周期
vue.js
这是个栗子10 小时前
【Vue代码分析】 import.meta.env.DEV:现代前端工程中的环境变量
前端·javascript·vue.js·环境变量
乌夷14 小时前
Vue.js 3 的设计思路
前端·javascript·vue.js
前端之虎陈随易1 天前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·vue.js·人工智能·typescript·node.js
格子软件1 天前
2026年GEO贴牌代理:分布式多级分账状态机源码深度解构
java·vue.js·分布式·vue·geo
之歆1 天前
Vue商品详情与放大镜组件
前端·javascript·vue.js
奶油mm1 天前
公司技术债堆积如山,我一人之力用 Vue3 偷换了整个前端架构
前端·vue.js