как я могу сделать диалоговый плагин для vue?

#javascript #vue.js #vue-component #nuxt.js

Вопрос:

я хочу создать диалоговое окно , которое обещает, и когда пользователь нажимает кнопку «ДА», обещание получает истинное значение . например , вы нажимаете на кнопку «УДАЛИТЬ», и ниже запускается код, и сначала отображается диалоговое окно, и когда вы нажимаете «ДА», он возвращает «True», и элемент будет удален . введите описание изображения здесь

   async onDel(item: any) {
    let confirm = await this.$dialog.show()
    if (confirm) this.delete(item)
  }
 

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

Комментарии:

1. Как бы вы написали плагин, если бы он не вернул обещание? как только вы это покажете, заставить его вернуть обещание будет просто

2. да, это просто, но я хочу, чтобы, когда я вызываю это.$dialog.show (), диалоговое окно показывает

3. Хорошо, покажите свой код плагина без обещаний, и тогда вам помогут вернуть обещание по вашему желанию

4. это plugins/dialog.js « функция экспорта по умолчанию ({ store }, inject) { inject(‘диалог’, () => store.commit(‘toggleDial’)) } «

5. вау, эта одна строчка делает все!!! Я и не думал, что вуэйс ТАК хорош