我正在尝试移动父组件内部的Popper。我该怎么办?
我尝试在修饰符对象中使用offset属性。 例如:
offset: {
offset: 20,
}
但是偏移只能使Popper朝一个方向移动。如果placement = {'top'|| 'bottom'} =>如果放置= {'right'||,它会左右移动。 'left'} =>它上下移动。
const Layer = ({
children,
align,
inner = true,
parent,
portal,
}) => (
<Manager>
<Popper
placement={align}
modifiers={{
inner: {
enabled: inner,
},
}}
referenceElement={parent}
>
{({ ref, style, placement }) => (
<div
ref={ref}
data-placement={placement}
style={style}
>
{console.log(style)}
{children}
</div>
)}
</Popper>
</Manager>
)
答案 0 :(得分:1)
只需处理:Place MaterialUI Tooltip "on top" of anchor element? (React)
PopperProps={{
popperOptions: {
modifiers: {
flip: { enabled: false },
offset: {
enabled: true,
offset: '20px 20px'
}
}
}
}}
答案 1 :(得分:0)
我这样解决了。为popper child添加了topOffset
和leftOffset
道具,并使用了扩展语法。不要以为这是最干净的解决方案。
const Layer = ({
children,
align,
inner = true,
parent,
portal,
topOffset,
leftOffset,
}) => (
<Manager>
<Popper
placement={align}
modifiers={{
inner: {
enabled: inner,
},
}}
referenceElement={parent}
>
{({ ref, style, placement }) => (
<div
ref={ref}
data-placement={placement}
style={{
...style,
top: style.top + topOffset,
left: style.left + leftOffset,
}}
>
{console.log(style)}
{children}
</div>
)}
</Popper>
</Manager>
)