Как получить имя файла в программе выбора файлов в реагировать? - PullRequest
3 голосов
/ 22 марта 2019

подскажите, пожалуйста, как получить имя файла в окне выбора файлов в реакции?Я пытаюсь установить значение в поле ввода после выбора файла из file chooser вот мой код https://stackblitz.com/edit/react-d4kp1d?file=bulk.js Я пытался вот так

<input
        id="file_input_file"
        className="none"
        type="file"
        ref={inputRef }
        onChange={(e)=>{
          console.log('---')
          console.log(inputRef.current[0].files[0].name)

        }}
      />

это дает мне undefined

1 Ответ

3 голосов
/ 22 марта 2019

Хорошая документация и пример взяты отсюда, объясняя, что вы пытаетесь сделать.https://reactjs.org/docs/uncontrolled-components.html#the-file-input-tag

Codepen: https://codepen.io/anon/pen/LaXXJj

React.JS содержит определенный файловый API для использования.

В следующем примере показано, как создатьссылка на узел DOM для доступа к файлам в обработчике отправки:

HTML

<input type="file" />

React.JS

class FileInput extends React.Component {
  constructor(props) {
    super(props);
    this.handleSubmit = this.handleSubmit.bind(this);
    this.fileInput = React.createRef();
  }
  handleSubmit(event) {
    event.preventDefault();
    alert(
      `Selected file - ${
        this.fileInput.current.files[0].name
      }`
    );
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>
        <label>
          Upload file:
          <input type="file" ref={this.fileInput} />
        </label>
        <br />
        <button type="submit">Submit</button>
      </form>
    );
  }
}

ReactDOM.render(
  <FileInput />,
  document.getElementById('root')
);

Имя файла оповещения

alert(`Selected file - ${this.fileInput.current.files[0].name}`);

Цитируется: Документация React.JS | Примеры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...