看啥推荐读物
专栏名称: 神光的编程秘籍
坚持原创,用心写文。分享前端编译、Node.js、VSCode、Three.js、Typescript 等前端技术。
今天看啥  ›  专栏  ›  神光的编程秘籍

实现 antd 的 Popover 组件,可以很简单

神光的编程秘籍  · 公众号  ·  · 2024-04-03 18:17
组件库一般都有 Popover 和 Tooltip 这两个组件,它们非常相似。不过应用场景是有区别的:Tooltip(文字提示) 是用来代替 title 的,做一个文案解释。而 Popover(气泡卡片)可以放更多的内容,可以交互:所以说,这俩虽然长得差不多,但确实要分为两个组件来写。这个组件看起来比较简单,但实现起来很麻烦。你可能会说,不就是写好样式,然后绝对定位到元素上面么?不只是这样。首先,placement 参数可以指定 12 个方向,top、topleft、topright、bottom 等:这些不同方向的位置计算都要实现。而且,就算你指定了 left,当左边空间不够的时候,也得做下处理,展示在右边:而且当方向不同时,箭头的显示位置也不一样:所以要实现这样一个 Popover 组件,光计算浮层的显示位置就是不小的工作量。不过好在这种场景有专门的库做了封装,完全没必要自己写 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照