如何在Kendo UI React Scheduler中设置日期格式为dd/mm/yyyy
解决KendoUI React Scheduler日期格式设置为dd/mm/yyyy的问题
以下是几种可行的解决方式:
全局配置日期格式
利用KendoUI的IntlProvider组件全局指定区域设置,en-GB区域默认采用dd/mm/yyyy的日期格式,将Scheduler包裹在该组件内即可生效:import { IntlProvider } from '@progress/kendo-react-intl'; import { Scheduler } from '@progress/kendo-react-scheduler'; export default function YourSchedulerComponent() { return ( <IntlProvider locale="en-GB"> <Scheduler // 你的Scheduler配置项(如dataSource、views等) /> </IntlProvider> ); }单独配置Scheduler的日期格式
直接通过Scheduler的dateFormat属性指定格式,同时可搭配timeFormat设置时间显示:<Scheduler dateFormat="dd/MM/yyyy" timeFormat="HH:mm" // 其他配置项 />如果需要自定义编辑弹窗中的日期选择器,可在自定义编辑表单里为
DatePicker组件设置format属性:import { DatePicker } from '@progress/kendo-react-dateinputs'; const CustomEditForm = ({ event, onChange, onClose }) => { const handleStartDateChange = (e) => { onChange({ ...event, start: e.value }); }; const handleEndDateChange = (e) => { onChange({ ...event, end: e.value }); }; return ( <div className="k-form"> <div className="k-form-field"> <label>开始日期</label> <DatePicker value={event.start} format="dd/MM/yyyy" onChange={handleStartDateChange} /> </div> <div className="k-form-field"> <label>结束日期</label> <DatePicker value={event.end} format="dd/MM/yyyy" onChange={handleEndDateChange} /> </div> {/* 其他表单元素及按钮 */} </div> ); }; // 在Scheduler中使用自定义表单 <Scheduler editForm={CustomEditForm} // 其他配置项 />校验数据源日期类型
确保Scheduler数据源中的start和end字段为Date类型,而非字符串。如果后端返回的是日期字符串,需先转换为Date对象再传入组件:const processedData = rawData.map(item => ({ ...item, start: new Date(item.start), end: new Date(item.end) }));
内容的提问来源于stack exchange,提问作者John Hadikusumo
相关产品推荐
相关产品推荐

