Использование primevue.popover в качестве всплывающей подсказки: Проблема с SettimeoutJavascript

Форум по Javascript
Ответить
Anonymous
 Использование primevue.popover в качестве всплывающей подсказки: Проблема с Settimeout

Сообщение Anonymous »

as primevue.tooltip вроде как сломан, я пытаюсь реализовать простой компонент подсказки инструментов с использованием primevue.popover .
Моя проблема возникает, когда я устанавливаю таймер с settimeout ; Popover.prototype.show < /code> не работает в функции обратного вызова: < /p>

Код: Выделить всё

const {createApp, ref, nextTick } = Vue;

const App = createApp({
template: '#app-template',
components: {
'p-button': PrimeVue.Button,
'p-popover': PrimeVue.Popover,
},
props: {},
setup(props) {
const tooltip = ref();
const delay = 500; // milliseconds
let timeoutID = null;

const closeTooltip = () => {
if (timeoutID != null) {
clearTimeout(timeoutID);
timeoutID = null;
tooltip.value.hide();
}
};
const openTooltip = (event) => {
closeTooltip();
timeoutID = setTimeout(() => tooltip.value.show(event), delay);
};
return { tooltip, closeTooltip, openTooltip };
},
},{ /* App setup props */ });

App.use(PrimeVue.Config, { theme: { preset: PrimeUIX.Themes.Nora } });
App.mount('#app-container');< /code>










Hover me 0.5 seconds!


Tooltip content






, когда я заменяю TimeOoutId = setTimeout (() => инструменты.timeoutID = 1;
tooltip.value.show(event); // or: nextTick(() => tooltip.value.show(event));
< /code>
Тогда показывает подсказка, но без какой -либо задержки; Чего я не хочу достичь ... < /p>
Что происходит? Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/797 ... settimeout
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»