[FR]: Menu 露白也不算BUG了,摸清原因了,但希望能能让popup overlay组件能自定义挂载到描写区域
这个不算BUG了,但这样确实难受。一开始我以为是写的bug,后来我又试了别的组件,也有这个情况。再后台我自己写内容滑动懎才发现使用transform 再看tabs也使用了 transform 定位使用abslute 或fixed 会创建一个块,指的是距离元素最近的祖先元素的内容区。就是我前面箭头指的。这也是我去看transform 的元素解释的理解。
所以解决办法就是把Overlay挂载到transform节点以外去,参见antd它的popup modal 组件均可以挂载到body里或body以外的区域去。或按antd 提供的props去挂载到指定地点去
但我希望popup overlay组件加个功能能自定义挂载点。我们自己选择挂载点可以解决掉此问题。从此它fixed top 怎么都不会有问题。望解决!
这个功能解决了什么问题?
简单代码
const [options] = useState([
{ text: '全部商品', value: 0 },
{ text: '新款商品', value: 1 },
{ text: '活动商品', value: 2 },
]);
return (
<Tabs>
<Tabs.TabPane title='AAAAA'>
<View style={{ height: 500 }}>
<Menu>
<Menu.Item options={options} value={0} />
</Menu>
</View>
</Tabs.TabPane>
</Tabs>
);
如果Menu 不是套在Tabs.Tabpane里则没有问题。一套进去就会在 nut-menu上顶出一个top高度导致露白。
你期望的组件设计是怎样的?
期望修复这个问题。
我又看了下这里的fixed 顶起来它不是基于容器根部顶起来的,而是从tabs.pane 的content内容区域顶起来的,这就有问题了。
我看了下节点发现每个memu.item内都嵌套了Overlay组件,我觉得该组件应该放到父组件Menu里去,不论我有多少个Item它都只能共用一个Overlay
如果我把内容拿出 Tabs.Tabpane 则不会出现问题。但我觉得像我这种布局情况也是比较常见的,应用也比较广泛。
这个不算BUG了,但这样确实难受。一开始我以为是写的bug,后来我又试了别的组件,也有这个情况。再后台我自己写内容滑动懎才发现使用transform 再看tabs也使用了 transform 定位使用abslute 或fixed 会创建一个块,指的是距离元素最近的祖先元素的内容区。就是我前面箭头指的。这也是我去看transform 的元素解释的理解。