Очистить fileInput после публикации данных - PullRequest
0 голосов
/ 18 марта 2020

У меня проблема со сбросом ввода после публикации данных, что делает невозможной повторную загрузку того же файла. Я довольно новичок в React, и я думаю, что мне здесь чего-то не хватает Вот мой код

let fileInput = React.createRef();
let defaultDataInput = {text: 'Fichier NC8', valid: null};
const [input, setInput] = React.useState(defaultDataInput);

const sendDonnesLogistiiques = () => {
    if (input.valid === null || input.valid === false) {
        input.valid = false;
        setInput({...input});
        return;
    }
    setLoading(true);

    Api.post({           
            route: 'administrateur_code_douane_importer',
            file: {
                fichier: fileInput.current.files[0]
            },
        },
        function (response) {
            setLoading(false);
            let defaultDataInput = {text: 'Fichier NC8', valid: null};
            setInput(defaultDataInput);

            if (response.status === 200) {
                dispatch(
                    SnackbarOpen({
                        text: 'L\'import des données logistiques s\'est bien déroulé.',
                        variant: 'success',
                    })
                );

            } else {
            setLoading(false);
                dispatch(
                    SnackbarOpen({
                        text: response.message,
                        variant: 'error'
                    })
                );
            }
        }
    );
};

const inputOnChange = () => {
    if (fileInput.current && fileInput.current.files[0]) {
        setInput({text: fileInput.current.files[0].name, valid: true});
    }
};

и вот мой ввод, который я пытаюсь очистить:

<input id={'fileImport'}
                        hidden={true}
                        type="file"
                        ref={fileInput}
                        onChange={inputOnChange}
                        accept=".xls"
                    /> 

1 Ответ

0 голосов
/ 18 марта 2020

Задать значение для ввода и при успешной публикации данных ввести значение по умолчанию

...