@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);
    }
  };
  • Вопрос задан
  • 46 просмотров
Решения вопроса 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);
    }
  };
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Indacoin Москва
от 80 000 до 160 000 руб.
Acme Crypto Corp Нижний Новгород
от 120 000 до 200 000 руб.