@Max9999

Повесить обработчик на скрытый элемент?

Добрый вечер.
Есть блок скрытый v-if (v-show не могу тут использовать). В нем элемент с tooltip от materializecss. Т.к. элемент скрыт при загрузки тултип не работает. Есть метод который изменяет видимость блока, но в нем не работает инициализация тултипа...

active(el){
this.viz=true
M.Tooltip.init( this.$refs.el, {enterDelay: 400})
}
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Есть много способов сделать это разной паршивости, но правильный метод: сделать компонент-обёртку, который и навесит весь нужный функционал внутри себя.
Самый примитивный пример:
Vue.component('m-tooltip', {
  mounted() {
    const tooltip = M.Tooltip.init(this.$el, {enterDelay: 400});
    this.$once('hook:beforeDestroy', () => tooltip.destroy());
  },
  render() {
    return this.$slots.default
  }
})
Если нужно что-то большее - всегда можно усложнить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы