vant的popup+picker在ios上的一个bug

1 篇文章 0 订阅

场景描述

近期做了一个体检的项目,需求是需要先选择项目,然后去选择排班日期。也就是具有二次关联。

 

bug描述

在部分的ios上,第二次选择排版日期出现了蒙版样式没了。本来的效果是选择器各项具有模糊效果,只有选中的一项是100%高亮的。

 

排查问题

先是查看源码,怀疑源码有问题。初步排查下来,发现定位,css都没有问题。(css中模糊使用渐变处理的)

其次一个一个试,最后发现问题是因为dom突然间增加了一段导致的。

 

结果分析

1. 低版本的ios上dom的定位可能会不太准确

2. 出现这个问题也是因为vant的popup是挂载到使用的地方,不是添加到body下的。

 

解决办法

给popup添加个挂载节点,指定挂载到指定dom位置就好了。

 

源码

    <van-popup v-model="showPicker" position="bottom" get-container="#popup">
      <van-picker
        show-toolbar
        :columns="columns"
        @cancel="showPicker = false"
        @confirm="onConfirm"
        value-key="text"
        :title="{set:'选择体检套餐',shift:'选择体检日期'}[selectType]"
      />
    </van-popup>
  <div id="app"></div>
  <div id="popup"></div> 

popop是在index.html文件中增加的dom,跟app/root是并行的。

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vant weapp 是一款基于微信小程序的组件库,提供了丰富的组件和样式以方便开发者快速实现小程序功能。其中,picker popup 组件是一个常用的选择器弹出框组件,可以用于用户选择数据的情景。 使用 picker popup 可以实现许多案例,以下是一个使用 picker popup 的案例示例: 假设有一个小程序页面需要用户选择省份和城市的功能。在点击一个按钮后,会弹出一个选择器弹出框,用户可以选择对应的省份和城市。 1. 页面准备: 在小程序的页面中引入 vant weapp 的 picker popup,设置好按钮和弹出框的触发事件。 2. 数据提前准备: 在页面的 data 中创建两个数组,分别保存省份和城市的数据。省份数据保存所有的省份信息,城市数据保存对应省份下的城市信息。可以使用接口或者静态数据来获取并保存这些数据。 3. picker popup 初始化: 在按钮的触发事件中,先进行数据的初始化。通过设置 picker popup 的数据字段和设置选择器的列数,可以实现省份和城市的级联选择器效果。 4. 数据联动和渲染: 当用户选择不同的省份时,触发 onChange 事件,更新城市数据。根据选择的省份,动态过滤出对应的城市数据,再更新 picker popup 的数据字段。 5. 数据选择与提交: 当用户完成选择后,点击确定按钮提交选择的省份和城市信息,并关闭 picker popup。 通过以上步骤,就可以在 vant weapp 的 picker popup 中实现省份和城市选择的功能。这样的案例适用于需要用户选择数据的场景,可以提高用户体验和操作便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值