[英]How do I clear my input that has value in it?
我有一個輸入,其中填充了從存儲為Redux狀態的API返回的值:
state = {
popoverScenarioName: null,
}
scenarioNameChange = (e) => (
this.setState({popoverScenarioName: e.target.value})
)
// ....
<StyledInput
placeholder="Scenario Name"
onChange={(e) => scenarioNameChange(e)}
onFocus={(e) => e.target.select()}
value={this.state.scenarioName || database.inputs.scenarioName}
/>
當我單擊輸入並按退格鍵以清除整個字段時,它將始終使用database.inputs.scenarioName
重新填充值。
我試圖將狀態設置為類似
state = {
popoverScenarioName: null || this.props.database.inputs.scenarioName,
}
但這似乎也不起作用。 我的另一個猜測是編寫一個直接更改database.inputs.scenarioName
的調度程序?
state = {
popoverScenarioName: null,
}
scenarioNameChange = (e) => (
this.setState({popoverScenarioName: e.target.value})
)
clickHandler = () => {
//...doing something here
setState({popoverScenarioName: null})
}
<StyledInput
placeholder="Scenario Name"
onChange={(e) => scenarioNameChange(e)}
onFocus={(e) => e.target.select()}
value={this.state.popoverScenarioName}
/>
<button onClick={this.clickHandler}>add todo</button>
您的點擊處理程序在哪里?
單擊后清除表格
這是從redux狀態“ this.props.database”開始的嗎?
我通過這個道具實現了它:
scenarioName={this.state.popoverScenarioName === null ? database.inputs.scenarioName : this.state.popoverScenarioName}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.