React-Bootstrap Form.Control日期类型初始值不显示问题求助
问题解决:react-bootstrap Form.Control type="date"初始值不显示
核心原因:HTML原生
type="date"输入框对value格式有强制要求,必须是YYYY-MM-DD格式。你当前用moment(startDate).format("D-MM-YYYY")生成的是「日-月-年」格式,不符合浏览器识别规范,所以无法显示初始值。修正代码:
const [startDate, setStartDate] = useState(new Date()); return ( <Form.Control type="date" value={moment(startDate).format("YYYY-MM-DD")} onChange={(e) => setStartDate(new Date(e.target.value))} /> );
- 额外说明:
- onChange回调中,
e.target.value返回的是标准YYYY-MM-DD格式字符串,需要转成Date对象存入state,避免后续逻辑出错。 type="date"输入框不需要设置placeholder,浏览器会自带格式提示,当value符合规范时,会自动替换为具体日期。
- onChange回调中,
内容的提问来源于stack exchange,提问作者udarts
相关产品推荐
相关产品推荐

