3 回答
TA贡献1865条经验 获得超7个赞
import { createPopper } from '@popperjs/core';
export default {
name: "TestView",
components: {
},
data() {
return {
};
},
mounted(){
const button = document.querySelector('#button');
const tooltip = document.querySelector('#tooltip');
createPopper(button, tooltip);
}
};
你应该使用 refs 而不是 id(我在这里没有使用它们以避免混淆你),这将确保没有冲突,因为你的应用程序可以有多个具有相同 Id 的元素,例如#button。当使用像 popper js 这样的 UI 库时,总是尝试将它们的代码放在 mounted 钩子中,mounted 钩子确保你定位的元素(例如 #button)在 dom 中
TA贡献1820条经验 获得超10个赞
您必须添加this.$nextTick仅在呈现整个视图后才会运行的代码(https://vuecomponent.com/integrations/popperjs.html)
import { createPopper } from '@popperjs/core';
export default {
name: "TestView",
components: {
},
data() {
return {
};
},
mounted(){
this.$nextTick(() => {
const button = document.querySelector('#button');
const tooltip = document.querySelector('#tooltip');
createPopper(button, tooltip);
});
}
};
添加回答
举报