Arco Design Popover内容高度无法自适应怎么办?
在用Arco的Popover做用户操作提示时,发现内容区域的高度总是固定显示,文字超出部分直接被截断了,设置CSS样式好像没生效…
我这样写的代码:
import { Popover } from '@arco-design/web-react';
const MyComponent = () => {
return (
<Popover
content={
<div style={{ maxHeight: '200px', overflowY: 'auto' }}>
这里有很多说明文字...可能超过两行显示...
</div>
}
trigger="hover"
>
<button>点击查看</button>
</Popover>
);
};
但实际弹出时高度还是卡死在两行,滚动条也没出现。试过给外层加fixed属性、调整z-index都没用,文档里也没找到控制高度的参数,是不是哪里写错了?
getPopupContainer调整容器或者直接加style改高度。改完代码这样:搞定。
white-space: nowrap和内部content容器的样式限制导致的。光在content里设maxHeight没用,得从两个地方一起改。首先,Popover有个隐藏属性叫
popupStyle,这是专门用来覆盖弹层根节点样式的,文档里藏得挺深。其次你的内容区要配合触发滚动。标准写法应该是:
关键点有两个:一个是
popupStyle把whiteSpace改成normal,否则文本不会换行;另一个是maxWidth控制一下宽度,不然内容太宽撑开没法触发高度限制。这两个一加,滚动自然就出来了。要是还不行,检查下有没有全局CSS污染,比如项目里统一给.arco-popover-content加了固定高度这种操作。