Возврат значений из диалога - PullRequest
0 голосов
/ 16 марта 2020

Я нашел такой код для простого vue y / n диалога

methods: {
    open () {
      this.dialog = true
      return new Promise(function (resolve, reject) {
        this.resolve = resolve
      })
    },
    yes: function () {
      this.dialog = false
      this.resolve(true)
    },
    no: function () {
      this.dialog = false
      this.resolve(false)
    }
  }

И вы открываете диалог вот так и получаете ответ

this.$refs.CalibratorConfirmDialog.open().then(resp => {console.log(resp)})

После попытки для его реализации я получил несколько ошибок, таких как

Невозможно установить разрешение свойства undefined в функции open ()

И this.resolve (true) не является функцией

Ответ, от которого я получил это, был немного проголосован, так что мне интересно, есть ли что-то, что я делаю неправильно (открывается диалоговое окно, я могу нажимать кнопки и закрывать его, просто возвращая ответ logi c не работает)

1 Ответ

0 голосов
/ 16 марта 2020

Вы уже объявили переменную разрешения в ваших данных? Как

data () {
   return {
     resolve:null
   }
}

И изменить свое обещание на функцию стрелки,

return new Promise((resolve, reject) => {
    this.resolve = resolve
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...