1

演示:https ://codesandbox.io/s/agitated-euler-rep54

单击任何“单击我设置参考”。popper 正确定位自身。现在开始滚动,你会看到 popper 没有粘在 ref 上。

如果您.popper成为 的直系子女.scroll-body,则可以。

<div id="app">
    <div class="scroll-body">
      <div v-for="n in 40">
          <span @click="setRef" class="ref">
            click me to set ref
          </span>
      </div>
    </div>
    <div ref="popper" class="popper">popper</div>
</div>

我需要设置什么 popper 选项才能使其工作?

4

3 回答 3

2

您应该避免在创建实例后更改引用state.elements.reference = newReference,而是完全创建一个新的 popper 实例。原因是在scrollParents创建(或更新)实例时完成检测。

https://codesandbox.io/s/nifty-night-5vjfm

如果您.setOptions({})在设置后调用,则可以动态更改引用,但我会推荐上述方法。

于 2020-03-24T02:39:17.717 回答
1

如果你把溢出-y:滚动;在#app 上,它将按照您想要的方式工作。需要在父级上设置溢出-y 才能影响子级。

于 2020-03-22T04:25:18.263 回答
0

我遇到过这个问题,就我而言,我忘记设置 container overflow: auto

于 2021-09-16T18:46:34.060 回答