van-popover组件文档中提供placement这个属性,用来控制气泡弹出位置,但是只能写死,无法传入函数或者传入‘auto’,搜了一下全网好像也没有提供这个问题的处理方案。

就会出现一个问题:当触发元素在视口底部,placement设置了'bottom',气泡就会溢出屏幕。
vant的githup仓库上也有这么一条issue提到这个问题:https://github.com/youzan/vant/issues/11600
官方的回复是,加入自动翻转的功能会令组件体积增大,需要评估是否加入,但是作者查看最新的V4版本也没加入,大概率是评估后觉得无需加入,所以还是维持现状。

既然官方不打算支持,就自己在项目中给van-popover组件打个补丁,优化一下用户体验吧。
// src/patch/popover.js
import { Popover } from 'vant'
Popover.methods

文章讲述了在van-popover组件中,由于placement属性限制,无法动态调整弹出位置。作者提供了自定义补丁代码,当弹出元素溢出视口时自动切换方向。然而,这破坏了单向数据流,导致Vue报错。寻求更好的解决方案或去除错误提示。
最低0.47元/天 解锁文章
1万+





