@Dias747
Студент который мечтают стат программистом

Как очистить input после добавлении?

При вводе на input сразу изменяется task, но я хотел сделать чтобы после нажатии Enter очистился input и данные сохранился в task.

function List() {
    const [tasks, setTasks] = useState([]);
    const [task, setTask] = useState("");
    

    function addTask(event) {
        if (event.key === "Enter") {
            console.log(task);
        }

        setTask("");
    }

    return (
        <div>
            <h1>Ваши задачи</h1>
            <input
                className="input"
                type="text"
                value={task}
                placeholder="Добваить задачу"
                onChange={(e) => setTask(e.target.value)}
                onKeyDown={addTask}
            />

            <ul className="list">
                <li>
                    <Task />
                </li>
                <li>
                    <Task />
                </li>
            </ul>
        </div>
    );
}
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
CoDeR2006
@CoDeR2006
TS
Если я правильно понял, переделай функцию "addTask" :
function addTask(event) {
        if (event.key === "Enter") {
            setTasks(prev => [...prev, task])
        }

        setTask("");
    }


Но у тебя неправильно написана отрисовка масива с tasks, но может ты просто еще не подписал. Если что отпиши в коменты я отвечу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект