Nuxt.js + поиск Algolia + Click Outside

Я работаю над проектом Nuxt.js с поиском Algolia. У меня все работает, кроме закрытия раскрывающегося списка поиска при нажатии вне поля. Я просмотрел так много ресурсов, и ничего не хочет работать.

Вот где я посмотрел:

Обнаружить щелчок вне элемента в nuxt

Обнаружить щелчок за пределами элемента

Обнаружение щелчка вне элемента на Vue 3

Кто-нибудь сможет помочь, пожалуйста?

Вот текущий код, который у меня есть:

плагины / click-outside.js

import Vue from 'vue';

Vue.directive('click-outside', {
    bind: function (el, binding, vnode) {
        el.clickOutsideEvent = function (event) {
            console.info(el);
            // here I check that click was outside the el and his childrens
            if (!(el == event.target || el.contains(event.target))) {
            // and if it did, call method provided in attribute value
                vnode.context[binding.expression](event);
            }
        };
        document.body.addEventListener('click', el.clickOutsideEvent)
    },
    unbind: function (el) {
        document.body.removeEventListener('click', el.clickOutsideEvent)
    },
});

index.vue

<template>
    <div class = "hello">
        <div v-click-outside = "closeDropdown">
            Hello
        </div>
    </div>
</template>
<script>
methods: {
        closeDropdown() {
            console.info("Clicked outside closeDropdown!");
        },
}
</script>

Не могли бы вы предоставить код, к которому вы пытаетесь применить это?

aside 30.03.2021 13:13

Я отредактировал содержание выше, спасибо.

Rafal Adam Krohne 30.03.2021 13:31

Код, содержащий раскрывающийся список поиска, также будет весьма полезен. В идеале вы должны предоставить образец codeandbox, иначе трудно помочь вам найти решение.

aside 30.03.2021 13:49

Я сделал что-то на 99% похожее на то, что у меня было в моем проекте: codeandbox.io/s/thirsty-cerf-vpply Мне удалось правильно получить щелчок вне коробки. (Хотя мой собственный проект console.info по какой-то причине все дважды: /) Возвращаюсь к SandBox .... Я бы хотел очистить ввод и скрыть результаты при щелчке вне поля, но я не уверен, что я м делаю не так :(

Rafal Adam Krohne 30.03.2021 17:36
Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
27
0

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