@Sasha294

При нажатии на checkbox ожидать нажатие другого или отправить запрос. Как можно это организовать?

Мне нужно при выборе одного checkbox нужно ожидать 1.5 секунды нажатия другого checkbox или отправить запрос. Как можно организовать такое ожидание?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
<template>
  <label>
    <input
      type="checkbox"
      @change="debouncedCheckboxChange"
      v-model="form.c1"
    />
    Check 1
  </label>
  <label>
    <input
      type="checkbox"
      @change="debouncedCheckboxChange"
      v-model="form.c2"
    />
    Check 2
  </label>
  <pre>{{ form }}</pre>
</template>

<script>
const debounce = (handle, duration = 0) => {
  let timeout = null;

  return function (...args) {
    clearTimeout(timeout);
    timeout = setTimeout(() => handle.apply(this, args), duration);
  };
};

export default {
  name: 'App',
  data() {
    return {
      form: {}
    };
  },
  methods: {
    checkboxChange() {
      this.form.date = Date.now();
    }
  },
  created() {
    this.debouncedCheckboxChange = debounce(this.checkboxChange, 1500);
  }
};
</script>

Пример. Документация.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nickolyashka
@nickolyashka
Проверять состояние нужного checkbox (:checked), если оно изменилось ждать 1.5 сек и выполнять твои условия.
Ответ написан
Ваш ответ на вопрос

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

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