@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 секунды к примеру
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
throttle:

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

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

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

Войти через центр авторизации
Похожие вопросы