V-подсказка: закрыть всплывающее окно из метода

В VueJS я использую v-tooltip (https://github.com/Akryum/v-подсказка) для всплывающих окон.

Чтобы закрыть всплывающее окно, они предоставляют директиву 'v-close-popover', которую я могу назначить кнопке/ссылке внутри всплывающего окна, чтобы закрыть всплывающее окно. Это хорошо работает.

Однако у меня есть требование, когда мне нужно закрыть это всплывающее окно из метода Vue. Но я не знаю, как вызвать закрытие всплывающего окна из метода.

Может быть, вы можете использовать реквизит open для ручного управления видимостью всплывающего окна?

Decade Moon 11.02.2019 07:20

Вы нашли какое-то решение для этого? У меня точно такая же проблема.

Imran Farooq 19.01.2020 07:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
2
2 573
1

Ответы 1

Вот как вы можете этого добиться. Он будет отображать всплывающую подсказку в событии mouseOver и удалять в событии mouseLeave. В шаблоне->

  <i
      id = "requiredIcon"
      aria-hidden = "true"
      v-tooltip = "{content: 'Required option is not available for this question.', show: isOpen, trigger: 'manual'}"
      @mouseover = "showTooltip"
      @mouseleave = "removeTooltip"
    ></i>

В сценарии->

   data() {
        return {
          isOpen: false,
        };
      },
methods:{
    showTooltip() {
            this.isOpen = true;
        },
     removeTooltip() {
          this.isOpen = false;
        }
}

Это решение может работать, если у вас есть только одно всплывающее окно на странице, но их может быть несколько.

Imran Farooq 19.01.2020 07:26

@ImranFarooq вам придется использовать уникальную переменную для конкретной подсказки. Вы можете соответствующим образом обновить переменную isOpen (возможно, массив/объект для всех ваших подсказок).

Riddhi 20.01.2020 09:16

на самом деле есть несколько всплывающих подсказок с каждой записью, а записей тысячи, поэтому невозможно иметь уникальную переменную для каждой всплывающей подсказки.

Imran Farooq 21.01.2020 10:13

@ImranFarooq Вы даете уникальный идентификатор каждой всплывающей подсказке? (id = "requiredIcon") Тогда вы можете легко добиться этого, передав свой идентификатор функции и используя это имя идентификатора с параметром show.

Riddhi 22.01.2020 04:27

В идеале должен быть способ закрыть все всплывающие подсказки одной командой, с идентификатором или без.

MarsAndBack 06.08.2020 21:33

Другие вопросы по теме