Я использую компоненты реакции React, Typescript и Semanti c UI. Я пытаюсь очистить поле ввода после добавления успешного элемента. Во время debugger
я вижу event.currentTarget.inputName.value
, который я хочу установить в пустую строку.
Я получаю одну из следующих ошибок:
Property 'inputItem' does not exist on type 'EventTarget'.
Property 'inputItem' does not exist on type 'EventTarget & Element'. TS2339
Метод, в котором машинопись продолжает заполнять ошибку.
handleAdd(e: SyntheticEvent) {
e.preventDefault();
e.currentTarget.inputItem.value = "";
console.log(e);
// target.value = "";
debugger;
const items: any = this.state.items;
this.setState({ items: [...items, this.state.item], item: "" });
}
Семанти c -UI Форма
- В пределах Форма. Вход У меня есть параметр с именем
name="inputItem"
, который я могу увидеть в console.log / debugger, выполнив e.target.inputItem
или e.currentTarget.inputItem
public render(): JSX.Element {
return (
<div className="main">
<Segment className="mt-5 main-segment">
<Header className="flex-col">
<span>Today </span>
<span>{todaysDate()}</span>
<span>{currentTime()}</span>
</Header>
<Form className="flex-row" onSubmit={this.handleAdd}>
<Form.Input
id="inputField"
placeholder="add todo item"
className="todo-input"
name="inputItem"
onChange={this.handleItemChange}
/>
<Form.Button content="Add" name="add-item" primary />
</Form>
<div id="list-items">{this.renderItems()}</div>
</Segment>
</div>
);
}
Я ищу решение о том, как сделать эту работу или более оптимизированный способ достижения этой цели.
Заранее спасибо.