vue移动端滚动选择器的实现

本文介绍了使用Vue开发移动端项目时,如何实现一个滚动选择器功能。内容包括点击按钮弹出选择器,设置setTimeout确保数据挂载,遍历并存储list的offsetTop,监听ul的scroll事件,以及根据scrollTop改变选中值的逻辑。文章适合初学者参考,作者提供了进一步交流的联系方式。
摘要由CSDN通过智能技术生成

滚动选择器的实现

前两天在公司用vue开发移动端的项目,遇到一个功能,要求弹出一个选择器,默认选中中间的值,要求选中的值跟着滚动改变,由于没有外网,只能自己开发一个来实现这个需求。第一次写博客,写的不好,勿喷~

代码如下:

<template>
  <div class="picker-main">
    <button @click="showPicker()">选择器</button>
    <span>{
   {
   city}}</span>
    <div
      v-if="show"
      class="picker"
    >
      <section class="picker-main">
        <h3>
          <span @click="show = false">取消</span>
          <span>请选择</span>
          <span @click="sure()">确认</span>
        </h3>
        <ul ref="ul">
          <li
            v-for="(item, index) in list"
            :key="index"
            :class="active==item.id?'active':active==item.id-1||active==item.id+1?'active2':null"
            :ref="'li'+item.label"
          >{
   {
   item.val}}</li>
        </ul>
      </section>
    </div>
  </div>
</template>

<script>
export default {
   
  data(
  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值