Akryum / floating-vue

💬 Easy tooltips, popovers, dropdown, menus... for Vue
https://floating-vue.starpad.dev/
MIT License
3.28k stars 335 forks source link

Position of dropdown popper is fixed when the reference element's height is dynamically changed #977

Open quynhethereal opened 1 year ago

quynhethereal commented 1 year ago

Hi there,

Thank you for your hard work on the project. I have a few questions that I was hoping you could clarify for me.

The issue I'm currently working on a project that involves using Vue with the VDropdown component. However, I've encountered a problem where the dropdown position does not update when the height of the reference element changes dynamically. In my specific case:

Unfortunately, it seems that the popper remains fixed to its initial position and does not respond to the dynamic height changes of the reference element at all.

Video

https://github.com/Akryum/floating-vue/assets/49337640/85ed9044-5343-4cc9-b2db-750802bd99ac

Reproducible code sandbox https://codesandbox.io/s/floating-vue-dynamic-height-reference-element-zdrr8p?file=/src/App.vue

I'm wondering if you have any insights into resolving this problem. I came across the autoUpdate feature from floating-ui (https://floating-ui.com/docs/autoupdate) and was considering whether setting up an event listener with autoUpdate could be the solution.

Thank you in advance.

or2e commented 1 year ago

@quynhethereal As a temporary solution, I can offer this hack.

addDummyText() {
  this.dummyTexts.push(this.getRandomText());

  this.$nextTick().then(() => {
      window.dispatchEvent(new Event("resize"));
  });
}

if you found it helpful, please vote for this issue