- 以兩個日期輸入(開始日期&結束日期)上的按鈕的單次點擊一次。
- 默認情況下,它們的值應該是今天的日期,即如果一個輸入保持不變(並且選中一個),然後點擊按鈕,則值應該是用戶選擇的,並且按照默認的今天日期。
- 輸出應該是yyyy/mm/dd
- 什麼應該是最React的方法來處理這個問題?
我的方法:
import React, { Component } from 'react';
import '../App.css';
class DateSelector extends Component {
constructor(props){
super(props);
this.state = {
startDate:"yyyy-MM-dd",
endDate:"yyyy-MM-dd"
}
}
dateHandler = (event) => {
console.log("startDate: "+this.state.startDate+" endDate:"+this.state.startDate);
}
startDateOnChange = (event) => {
this.setState({startDate: event.target.value});
}
endDateOnChange = (event) => {
this.setState({endDate: event.target.value});
}
render() {
return (
<div>
START DATE<input type="date" id="startDate" value="{this.state.startDate}" onChange={this.startDateOnChange}/>
END DATE<input type="date" id="endDate" value="{this.state.startDate}" onChange={this.endDateOnChange}/>
<button type="submit" onClick={this.dateHandler}>Submit</button>
</div>
);
}
}
export default DateSelector;
上面的代碼給出的日期標籤的onChange
事件以下錯誤:
指定的值 「{} this.state.startDate」 不符合 所需的格式「yyyy-MM-dd」。
而且<button>
標籤的onClick
給空字符串作爲startDate: endDate:
注:我很新的網頁設計的東西。我做了相當的谷歌搜索,但沒有找到任何相關的教程/文檔/帖子。 有關這些情況的任何指南/參考(供將來參考),我們對此表示讚賞。
要麼控制輸入或得到值使用參考 –
這個答案應該幫助https://stackoverflow.com/questions/44471370/reactjs-why-is-onchange-the-prefered-way-to-handle-input - 改變/ 44471458#44471458 –
我不認爲你需要使用refs爲此。除非嚴格需要,文檔鼓勵您不要使用引用。 – nbkhope