@Analka

Как выполнить только один раз?

Есть текстовый редактор

<editor
      v-model="text"
      api-key="hkavs2b84i3jpj2k5ow7zmbj6lydkahcgg6cvp993ao0pl3h"
      :plugins="editorPlugins"
      :toolbar="editorToolbar"
      :init="editorInit"
      @input="returnValue"
    />


как выполнить отправку события redit только один раз в минуту,

function returnValue(data: any) {
      emit('input', data)
      setTimeout(() => {
        emit('redit', data)
      }, 60000)
    }


сейчас сколько символов ввожу, столько раз и вызывает redit
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
throttle:

const emitRedit = throttle(emit.bind(null, 'redit'), 60000, { leading: false });

watch(() => {
  emit('input', text.value);
  emitRedit(text.value);
}, [ text ]);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Непонятно, что за компонент editor, но может быть поможет https://ru.vuejs.org/v2/guide/forms.html#lazy к исходному инпуту, ну или привязываться к событию change, а не input. Надо api компонента смотреть.
Ответ написан
Ваш ответ на вопрос

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

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