Я использую vuejs с bootstrap - vue. У меня есть два компонента. Список объектов и мой модал. Я открываю мой мод, когда нажимаю на определенную кнопку. Обычно мой модал спрашивает: «Вы уверены, что хотите удалить эти записи?» например.
Все работает нормально, но я не знаю, как получить результат модального в моем родительском компоненте (если я нажал 'ok' или 'cancel', ...).
Как мне это сделать?
Так как мой модал открывается следующим образом:
В моем родительском компоненте (списке):
deleteSelectedGroups () {
const modalOptions = {
action: 'delete',
records: this.selectedGroups,
recordFields: ['name', 'usersCount'],
okTitle: 'Delete',
okVariant: 'danger'
}
this.showModalConfirmation(modalOptions)
// ...
// if result of modal is true then ...
},
showModalConfirmation (modalOptions) {
this.$refs.ModalConfirmation.show(modalOptions)
}
В моем модальном компоненте:
show (modalOptions) {
for (let option in modalOptions) {
this[option] = modalOptions[option]
}
this.$bvModal.show('modalConfirmation')
}
Должен ли я сделать это просто, возвращая значение с помощью моих методов?
Или я должен сделать vuejs перевести и передать переменную родителю?
РЕДАКТИРОВАТЬ: Как я хотел бы, чтобы мой поток был (псевдокод):
deleteselectedGroups () {
openModal()
modalAnswer = modal.getAnswer()
if (modalAnswer === 'OK') {
deleteMyRecords()
}
}