按“开始日期”和“结束日期”字段过滤表(日期过滤器)

时间:2019-05-20 14:34:52

标签: reactjs

我的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)} />

0 个答案:

没有答案