antd - 在特定日历日期呈现数据
问题描述
目标:在日期选择器指定的日期在日历中显示数据。
问题:我无法将数据分配给特定日期 -所有日历日期都显示相同的数据。
通过将一个函数传递给它的 dateCellRender 属性来呈现日历组件,该属性生成要在单元格中显示的内容。传递给 dateCellRender 的函数接受一个时刻对象作为其唯一参数,该参数由 datepicker 表单生成。我检查了 Moment 对象,那里的一切看起来都很好,即调用 moment.date() 返回一个数字。
我试图模仿文档中的模式,但我一直遇到同样的问题。
我真正感到困惑的是过滤应该发生在哪里以及幕后发生了什么。是否为日历中的每个单元格调用 dateCellRender 并仅在满足条件时才显示内容?
谢谢。
文档示例 Calendar 在每个月的 8 日、10 日和 15 日显示列表数据。我把它放在这里是为了方便。我的代码如下。
function getListData(value) {
let listData;
switch (value.date()) {
case 8:
listData = [
{ type: 'warning', content: 'This is warning event.' },
{ type: 'normal', content: 'This is usual event.' },
]; break;
case 10:
listData = [
{ type: 'warning', content: 'This is warning event.' },
{ type: 'normal', content: 'This is usual event.' },
{ type: 'error', content: 'This is error event.' },
]; break;
case 15:
listData = [
{ type: 'warning', content: 'This is warning event' },
{ type: 'normal', content: 'This is very long usual event。。....' },
{ type: 'error', content: 'This is error event 1.' },
{ type: 'error', content: 'This is error event 2.' },
{ type: 'error', content: 'This is error event 3.' },
{ type: 'error', content: 'This is error event 4.' },
]; break;
default:
}
return listData || [];
}
function dateCellRender(value) {
const listData = getListData(value);
return (
<ul className="events">
{
listData.map(item => (
<li key={item.content}>
<span className={`event-${item.type}`}>●</span>
{item.content}
</li>
))
}
</ul>
);
}
ReactDOM.render(
<Calendar dateCellRender={dateCellRender} />
, mountNode);
我的探索代码。当从日期选择器中选择第三个时,每个月的每一天都会显示“测试”。
testDate = () => {
console.log("in testDate", moment.date());
if (moment.date() === 3) {
return "foo";
};
render() {
return <Calendar dateCellRender={this.testDate} />
}
当 moment.date() === 3 时,我希望在每个月的第三天显示“foo”,但它会在每个日期显示。
没有错误消息。
解决方案
推荐阅读
- c# - C# 从存储过程中读取 OUTPUT 值
- java - 如何处理类转换 Java x Scala?
- python - 当scrapy在conda虚拟环境中时,如何在pycharm中调试scrapy
- java - 你好,Java中的置换方法
- javascript - 如何正确生成抛物线
- reactjs - 将 Promise 传递给 reducer 并在那里解决它是一件坏事吗?
- java - Android Studio 中没有立即设置可见性
- log4net - log4net 是否有接受级别作为参数的消息写入方法?
- python - 从 html 中删除不匹配的结束标记
- arrays - MongoDB中数组中的字符串字段值长度