簡體   English   中英

如何清除我的輸入值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM