@Smuzzzzzi

Автоматическое сохранение в input?

Друзья, подскажите, как сделать автоматическое сохранение в input при выборе фото!
Сейчас есть форма, где пользователь выбирает фото, жмет сохранить. Все отлично работает.
Нужно, чтоб после выбора фото, оно мгновенно применялось.
Мой input
<Input
  type="file"
  id="picture"
  name="picture"
  accept="image/*"
  onChange={this.onChangePicture}
/>

Сохранение
onChangePicture = e =>
    this.setState({
      data: { ...this.state.data, [e.target.name]: e.target.files[0] }
    });
  onSubmit = e => {
    e.preventDefault();
    const errors = this.validate(this.state.data);
    this.setState({ errors });
    if (Object.keys(errors).length === 0) {
      this.setState({ loading: true });
      this.props.submit(this.state.data);
    }
  };
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
@Sayto
Вы хотите вызвать сабмит на загрузке фотографии? Вы можете передать любой хэндлер в коллбэк функции setState.

onChangePicture = e =>
    this.setState(
        { data: { ...this.state.data, [e.target.name]: e.target.files[0] } },
        this.onSubmit
    );

onSubmit = e => {
    if (e) e.preventDefault();
    const errors = this.validate(this.state.data);
    this.setState({ errors });
    if (Object.keys(errors).length === 0) {
      this.setState({ loading: true });
      this.props.submit(this.state.data);
    }
  };
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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