我的react应用程序中有一个表组件,它呈现一个表。该表具有日期过滤器(借助重要的ui datepickers组件提供“从”和“至”) “起始”日期字段的默认值应该是什么?和“到”日期字段的默认值?我希望默认标题为“ FROM DATE”和“ TO DATE”。但是,如果每当用户选择一个TO日期时,我都没有将“ FROM”日期硬编码为01/01/1950(或类似名称),则该范围的计算当然是错误的。 (因为默认值为null或新的Date()),范围计算不正确,数据显示不正确
我尝试在组件的状态初始化中将'FROM'硬编码为'01 / 01/1950',并将'TO'硬编码为new Date(),无论何时用户单击“清除过滤器”,都会将其重置为'01 / 01/1950'和新的Date()。物料ui日期选择器接受这些属性并感到困惑-突然,日期搜索从01/01/1950开始。 -所以我通过添加特定条件解决了这一问题-关于这种态度的所有事情都让人感到错误和混乱。而且容易出错
my state reset:
this.state = {
fieldValues: {
fromDate: '01/01/1950',
toDate: new Date(),
}
}
and I allways pass to material ui datepickers the appropriate date if it is not 01/01/1950 and new Date(),
renderDate = (date) => {
const isEqualDates = moment(date).isSame(moment(new Date()), 'date') ||
moment(date).isSame(moment('01/01/1950'), 'date')
if (isEqualDates) {
return null;
} else {
return date;
}
}
<DatePickComponent date={this.renderDate(this.state.fieldValues.fromDate)} title={'From'} selectedDateHandler={(date) => this.handleChangeFromDateFilter(date)} />