При запуске процесса удаления он запускается дважды и не может понять, почему - PullRequest
0 голосов
/ 28 апреля 2020

У меня возникли некоторые проблемы с моим проектом Vue при реализации функции удаления для моего компонента GridView в моем компоненте Добавить актив.

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

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

Вот код моего процесса ImageGridView. vue (часть компонента изображения)

  eventBus.$on('confirmationYes', () => {
      eventBus.$emit('processFileDeletion', this.selectedFiles)
      this.clearSelectedFiles()
      this.deleteConfirmation = false
    })

ImageSection. vue (компонент изображения)

deleteSelected (indexes) {
      eventBus.$emit('deleteSelectedFiles', indexes)
      let numberOfItems = indexes ? indexes.length : 0
      if (numberOfItems === -1) {
        numberOfItems = this.currentPosition
      }
 return
      if (this.currentPosition >= numberOfItems) {
        this.currentPosition -= numberOfItems
      }
    }

Событие в ImageSection. vue

eventBus.$on('processFileDeletion', (indexes) => {
    this.deleteSelected(indexes)
    })

Событие в моем компоненте Добавить актив

eventBus.$on('deleteSelectedFiles', (indexes) => {
      if (!indexes || indexes.length === 0) return
      this.deleteSelected(indexes.sort().reverse())
      if (this.newItem.files.fileList.length === 0) {
        // this.currentPosition = 0
        this.display = 'single'
      }
    })

процесс удаления в моем компоненте добавления активов

deleteImage (index = -1) {
      this.newItem.files.fileList.splice(index, 1)
    },
    deleteSelected (indexes) {
      const files = this.newItem.files.fileList
      for (let i = 0; i < indexes.length; i++) {
        this.deleteImage(indexes[i])
      }
      files.map((file) => {
        file.isVisible = false
      })
    },

В течение последних трех часов я пытался отследить это, мне нужны свободные глаза sh, чтобы посмотреть, где я Я ошибаюсь или если мне нужно go в совершенно новом направлении.

заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...