0.2.82 • Published 8 months ago
@befe/brick-comp-popper v0.2.82
升级 popperjs v2 的 BREAKING CHANGES(从 brick@0.2.44 起)
- deprecate
props.positionFixed, useprops.strategyinstead - 去掉
props.evensEnabled的支持- 总是监听 scroll 和 resize 事件以调整 popper 显示位置
- 需要不监听以获得极致性能且可以不监听也能保证正确的情况极少
- 必要时可通过 eventListeners modifier 进行配置
- 详见 https://popper.js.org/docs/v2/modifiers/event-listeners/
- 移除 props.preventOverflowBoundary 支持
- preventOverflow 的内部处理方式以及 API 已经变化,通过 v1 API 设置的已经无效,也不必要
- 已知的本来需要设置 viewport 的情况都不再需要设置
- 必要时可通过 preventOverflow modifier 进行配置指定 element 作为 boundary
- 详见 https://popper.js.org/docs/v2/modifiers/prevent-overflow/
- preventOverflow 的内部处理方式以及 API 已经变化,通过 v1 API 设置的已经无效,也不必要
props.modifiers类型变更为Array<Partial<Modifier<any, any>>>- 变更后的
Modifier格式详见 https://popper.js.org/docs/v2/modifiers/ - 绝大多数情况并不需要特别设置 modifiers,但这是一个扩展性 API,我们直接保留
- 变更后的
- 姑且去掉关于 "浏览器可能在前后两次绘制存在细微差别而造成不断重复修正渲染的问题"
- popper 的 position styles 在取出时已有 round 处理
2021 BREAKING CHANGES
PopperTrigger
props.mouseEnterDelayInMS->mouseEnterDelayprops.mouseLeaveDelayInMS->mouseLeaveDelayprops.focusDelayInMS->focusDelayprops.blurDelayInMS->blurDelay
Popper
props.popperWrapRef->props.refPopperWrap
FAQ
PopperTrigger 不支持 props.disabled 么?
暂不支持,还没有必要性
- trigger 是个无实体的 wrap,按理说应没有所谓的 disabled
- 考虑
<PopperTriger><Button disabled /></PopperTrigger>这种情况(button disabled, 但可以 hover 出 tips 的情景),多一层次 disabled 实际有点混淆 beforeChange/onChange可以满足 “(根据需要)不触发” 的情况,且api 使用复杂度没有比disabled大