vue-js-модальный диалог не закрывается - PullRequest
0 голосов
/ 11 октября 2018

Я не знаю, является ли это проблемой из-за того, что чего-то не хватает в документации или у меня, кто неправильно понимает, как работает пакет vue-js-modal.Я не могу заставить диалоговые окна закрывать модальные окна

Пример и снимки экрана:

Я создал это модальное диалоговое окно:

delete_entry_modal(item) {
    this.$modal.show('dialog', {
        title: 'Delete entry?',
        text: `Are you sure that you want to delete the ${item.listing_type} entry from ${item.from_address} to ${item.to_address }@${item.to_domain}?`,
        buttons: [
            {
                title: 'Yes',
                handler: () => {
                    this.setLoading(true);
                    axios.delete('/api/lists/'+item.id+'/').then(response => {
                        this.setLoading(false);
                        this.notify(this.createNotification('Entry deleted', `The ${item.listing_type} entry from ${item.from_address} to ${item.to_address }@${item.to_domain} has been deleted`, 'success'));
                    }).catch(error => {
                        this.setLoading(false);
                        this.notify(this.createNotification('An error occurred', `${error}`, 'error'));
                    });
                    this.$emit('close');
                },
                default: true
            },
            {
                title: 'No'
            }
        ]
    })
}

Я загружаю в VModal таким образом:

Vue.use(VModal, { dialog: true, dynamic: true, injectModalsContainer: true });

Когда я нажимаю кнопку «Нет», модальное окно закрывается.Если я нажимаю «Да», запускается код обработчика, но он не закрывает модальное окно.Нажатие Enter на клавиатуре дает тот же результат

1 Ответ

0 голосов
/ 11 октября 2018

$emit работает в рамках шаблона, передавая его родителю.Поскольку вы не используете шаблон, вам необходимо явно определить модал, который будет закрыт в синтаксисе, добавив к нему VueConstructor

this.$modal.hide('dialog')
...