如何在react-big-calendar中创建自定义事件视图并移除默认标签
解决react-big-calendar自定义事件组件仍显示默认标签的问题
- 先确认react-big-calendar版本,较新版本(v0.38+)推荐使用
eventContentprop替代components.event,写法如下:
const CustomEventComponent = ({ event }: any) => { return ( <div className='color-ffffff' style={{ width: '100%', height: '100%', display: 'flex', alignItems: 'center', padding: '0 4px' }}> Hello </div> ); }; <Calendar toolbar={false} localizer={localizer} events={myEventsList} startAccessor='start' endAccessor='end' showAllEvents={true} defaultView={Views.DAY} eventContent={({ event }) => <CustomEventComponent event={event} />} />;
- 若坚持使用
components.event,必须接收并应用styleprop,确保自定义组件填满事件插槽空间,避免默认内容露出:
const CustomEventComponent = ({ event, style }: any) => { return ( <div style={{ ...style, width: '100%', height: '100%', display: 'flex', alignItems: 'center', padding: '0 4px' }} className='color-ffffff' > Hello </div> ); }; <Calendar toolbar={false} localizer={localizer} events={myEventsList} startAccessor='start' endAccessor='end' showAllEvents={true} defaultView={Views.DAY} components={{ event: CustomEventComponent, }} />;
- 额外排查点:
- 在自定义组件中添加
console.log,确认组件是否被正常渲染 - 暂时移除
showAllEvents属性测试,排除该配置的干扰 - 清理项目缓存后重新构建,避免旧代码残留
- 在自定义组件中添加
内容的提问来源于stack exchange,提问作者Shiv Yadav
相关产品推荐
相关产品推荐

