Dev*_*Dev 5 javascript material-ui react-datepicker
我还需要从反应日期选择器中选择秒。我浏览过文档发现了这个
在此解决方案中,我可以从中选择小时、分钟、上午/下午,但没有秒选项是否有任何方法可以自定义也从中选择秒。需要帮助,如下示例(查找输入时间)
我尝试过更改日期格式
dateFormat="MM/dd/yyyy h:mm:ss aa" 不起作用
() => {
const [startDate, setStartDate] = useState(new Date());
return (
<DatePicker
selected={startDate}
onChange={date => setStartDate(date)}
timeInputLabel="Time:"
dateFormat="MM/dd/yyyy h:mm aa"
showTimeInput
/>
);
};
Run Code Online (Sandbox Code Playgroud)
我找到了显示秒数的方法,但这工作正常,但在我们选择时间后整个对话框正在关闭的模型内。我在 MaterialUi 对话框中使用它
() => {
const [startDate, setStartDate] = useState(new Date());
const ExampleCustomTimeInput = ({ value, onChange }) => (
<input
type="time"
step="1"
value={value}
onChange={e => onChange(e.target.value)}
style={{ border: "solid 1px pink" }}
/>
);
return (
<DatePicker
selected={startDate}
onChange={date => setStartDate(date)}
showTimeInput
customTimeInput={<ExampleCustomTimeInput />}
/>
);
};
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以在其中使用customTimeInput属性和路径自己的函数:onChange
customTimeInput={
<CustomTimeInput
onChangeCustom={this.handleChangeTime}
/>
}
Run Code Online (Sandbox Code Playgroud)
这是该组件:
const CustomTimeInput = ({ date, onChangeCustom}) => {
const value = date instanceof Date && !isNaN(date)
? // Getting time from Date beacuse `value` comes here without seconds
date.toLocaleTimeString('it-IT')
: '';
return (
<input
className="bp3-input bp3-fill"
type="time"
step="1"
value={value}
onChange={(event) => onChangeCustom(date, event.target.value)}
/>);
};
Run Code Online (Sandbox Code Playgroud)
和回调示例:
handleChangeTime = (date, time) => {
const [hh, mm, ss] = time.split(':');
const targetDate = date instanceof Date && !isNaN(date) ? date : new Date();
targetDate.setHours(Number(hh) || 0, Number(mm) || 0, Number(ss) || 0);
this.handleDateChange(targetDate);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7282 次 |
| 最近记录: |