производительность удаленного el-select опция 3000 предметов медленно и раздавить? - PullRequest
0 голосов
/ 30 декабря 2018

Здравствуйте, это мой первый раз.У меня есть проблема с таким, у меня есть 3000 предметов, и я использую такие фреймворки, как vue, element-ui и meteor .Я вытаскиваю все элементы через удаленный el-select , который выбирает, чтобы добавить более удаленный объект массива select. Я не знаю, почему это замедляет производительность и разрушает.

Этомоя картинка

// Найти способ выбора товара

_getItemOpts(query, type) {
  type = type || 'remote'
  let exp = new RegExp(query)
  let selector = {}
  if (exp) {
    selector = {
      itemType: { $ne: 'Bundle' },
      // , 'Sale'
      activityType: { $in: ['Purchase'] },
      status: 'Active',
      $or: [
        { name: { $regex: exp, $options: 'i' } },
        { refNo: { $regex: exp, $options: 'i' } },
        { barcode: { $regex: exp, $options: 'i' } },
      ],
    }
  }

  // Find item
  findItems
    .callPromise({ selector: selector })
    .then(result => {
      // console.log(result)
      if (type == 'remote') {
        this.itemOpts = result          

      }
      this.loading = false
    })
    .catch(err => {
      this.loading = false
      Notify.error({ message: err })
    })
},

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 30 декабря 2018

Ну, никакой магии здесь нет.Вы пытаетесь добавить в DOM 3000 элементов, поэтому неудивительно, что он вылетает.Попробуйте сузить результаты, например, показывать их только тогда, когда пользователь вводит 3 буквы

...