[英]React select onChange empty event
我有以下React組件,該組件使用一個select
標記,該標記由該組件管理:
<main id='homescreen-container'>
{/* TODO: Add maxLength after deciding on a font size */}
<textarea readOnly id="recorded-text-view" value={this.state.displayedContent}></textarea>
<button className="button" onClick={this.toggleRecording}>{!this.state.recording ? "Înregistrează" : "Stop"}</button>
<h5>Paragraful curent</h5>
<select id="current-paragraph" value={this.state.workingPage.WorkingParagraphIndex} onChange={(event) => this.changeCurrentParagraph(event)}>
{this.state.workingPage.Paragraph.map((val, index) => (
<option key={index} value={index + 1}>{index + 1}</option>
))}
</select>
<button className="button" onClick={this.createNewParagraph}>Adaugă un paragraf</button>
<button className="button" onClick={this.deleteCurrentParagraph}>Șterge paragraful curent</button>
<button className="button" onClick={this.saveFile}>Salvează</button>
</main>
我的問題是,當我嘗試處理onChange
事件時,傳遞給處理程序的事件的target屬性為null
。 這是我的處理程序:
changeCurrentParagraph = (event: any) => {
console.log(event);
this.setState((prev: HomescreenState) => ({
workingPage: prev.workingPage.changeWorkingParagraph(event.target.value)
}))
}
這不起作用,並TypeError: Cannot read property 'value' of null
以下錯誤: TypeError: Cannot read property 'value' of null
。 知道可能是什么問題嗎? 提前致謝!
您嘗試在setState中設置值的方式可能引起了您的問題。 嘗試更改代碼以遵循以下模式:
changeCurrentParagraph = (event: any) => {
console.log(event);
const myVal = this.state.workingPage.changeWorkingParagraph(event.target.value) //assuming you are returning a value from this
this.setState((prev: HomescreenState) => ({
workingPage: myVal
}))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.