如何为KendoReact Scheduler事件标题自定义渲染图标?
KendoReact Scheduler 自定义事件标题图标实现方案
完全可以实现需求,通过Scheduler的eventTemplate属性自定义事件内容即可,具体步骤如下:
- 引入FontAwesome:确保项目中已引入FontAwesome资源(可通过npm安装或CDN引入),保证图标样式能正常加载。
- 编写自定义事件模板组件:创建一个React组件,接收事件数据作为参数,在组件内渲染图标与标题:
const CustomEventTemplate = ({ event }) => { return ( <div className="k-event-content"> <i className="fa fa-cloud"></i> <span>{event.Title}</span> </div> ); };
- 在Scheduler中应用模板:将自定义组件传入Scheduler的
eventTemplate属性:
import { Scheduler } from '@progress/kendo-react-scheduler'; // 你的事件数据数组 const events = [ { TaskID: 68, OwnerID: 1, RoomID: 2, Title: 'Breakfast with Tom', Description: '', StartTimezone: null, Start: '2024-01-23T09:45:00.000Z', End: '2024-01-23T11:30:00.000Z', EndTimezone: null, RecurrenceRule: null, RecurrenceID: null, RecurrenceException: null, isAllDay: false, } ]; export default function App() { return ( <Scheduler data={events} eventTemplate={CustomEventTemplate} views={['day', 'week']} date={new Date('2024-01-23')} /> ); }
- 调整图标样式(可选):为图标添加间距,避免和标题紧贴:
.fa.fa-cloud { margin-right: 8px; }
通过这种方式,事件标题前会渲染指定的FontAwesome图标,完全匹配你期望的效果。
内容的提问来源于stack exchange,提问作者speti43
相关产品推荐
相关产品推荐

