Задать вопрос
@andrei_pro

Как при редактировании текста сохранять его через определённые промежутки времени?

Есть форма с текстом, который хранится в vuex:

<textarea v-model="text"></textarea>

Есть биндинг v-model:

computed: {
        text: {
                get() {
                    return this.product.text
                },
                set(value) {
                    this.$store.dispatch(`updateProduct`, value)
                }
            },
}

Проблема: при редактировании текста идут десятки событий updateProduct, мне нужно их как-то объединить и сохранить по таймауту - каждые 2 секунды к примеру.
  • Вопрос задан
  • 205 просмотров
Подписаться 2 Средний Комментировать
Решения вопроса 2
0xD34F
@0xD34F Куратор тега Vue.js
throttle:

computed: {
  text: {
    get() {
      // ...
    },
    set: _.throttle(function(text) {
      // здесь вызываете мутацию
    }, 2000),
  },
},

https://jsfiddle.net/hjub5swz/
Ответ написан
Комментировать
Комментировать
Пригласить эксперта
Ответы на вопрос 1
aloky
@aloky
js
debounce не поможет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы