[youzan/vant]在IOS环境下 Area插件只能滑动一次

2024-05-22 313 views
4

省市区插件只能选中一次,第二次选择是不会滑动,只能点击使用

回答

3

@BlueBoyC 请问你使用的浏览器是?在文档示例中未能复现你的问题

4

在苹果设备上,Safari浏览器都不行,安卓的可以用

4

好像是picker插件的问题,在ios系统的Safari浏览器上,Area插件的省份滑动选择一次之后,就再也滑动不了了,望快点解决,谢谢

6

vant-areabug 找到了原因,因为ul在滑动的时候,跟随着屏幕进行滚动,所以,触发滑动的ul标签被移开了,导致的

1

将ul的滑动事件移到父层的div上,ios的Safari浏览器可以使用了,不知道这个解决方法是否会出问题,我粘贴一下修改的代码(调试的时候不知道为什么只能使用lib里面的es5代码,贼麻烦,我就按照大致的逻辑还原一下vue的模板)

6

第一次粘贴代码,不太会用github 。。。

<template>
  <div class="van-picker-column" :class="className" @touchstart="onTouchStart" @touchmove.prevent="onTouchMove" @touchend="onTouchEnd" @touchcancel="onTouchEnd">
    <div class="van-picker-column__frame van-hairline--top-bottom" :style="frameStyle" />
    <ul :style="wrapperStyle">
      <li v-for="(option, index) in options" :key="index" v-text="getOptionText(option)" :class="{
          'van-picker-column--disabled': isDisabled(option),
          'van-picker-column--selected': index === currentIndex
        }" @click="setIndex(index)" />
    </ul>
  </div>
</template>
3

@BlueBoyC 在 Safari 上试了下,没能复现你的问题,建议你升级 Vant 到最新版后再试下。 对于滑动事件移到父层的 div 上这个改动,我们会在下个版本中优化

9

已在 0.11.13 中优化