docs: function filterDate({
    data,
    value,
    disabledArr,
    minDate,
    maxDate,
    oldData = {},
    props,
    columns,
  }) {
    const disabledArrNew = parseDisabledArr(disabledArr);
    if (columns[0] === 'Y') {
      const year = value[0].value;
      let month;
      let yearData = data[0];
      let monthData;
      if (columns.length >= 2) {
        monthData = getMonthsByYear({ year, minDate, maxDate }).map(item => ({
          value: item.value,
          text: `${addZero(item.text)}${locale[props.locale].surfix.M}`,
        }));
        month = value[1].value;
      }
      let dayData;
      if (columns.length >= 3) {
        dayData = getDaysByMonth({
          year, month, minDate, maxDate,
        });
      }
      if (disabledArrNew.startEnd || disabledArrNew.minTime || disabledArrNew.maxTime) {
        if (oldData.yearData) {
          ({ yearData } = oldData);
        } else {
          yearData = filterYear(yearData, { disabledDateObj: disabledArrNew, minDate, maxDate });
        }
        if (monthData) {
          if (oldData.monthData) {
            ({ monthData } = oldData);
          } else {
            const monthArr = filterMonth(monthData, year, disabledArrNew);
            monthData = monthArr.length ? monthArr : monthData;
          }
        }
  
        if (dayData) {
          const dayArr = filterDay(dayData, year, month, disabledArrNew);
          dayData = dayArr.length ? dayArr : dayData;
          const unit = locale[props.locale].surfix.D;
          dayData = dayData.map(item => ({
            ...item,
            text: addZero(item.text) + (unit || ''),
          }));
        }
      }
      if (disabledArrNew.minTime >= disabledArrNew.maxTime) {
        warn('Datetime: Please check your disabledDate props');
        return [];
      }
      if (!yearData.length) {
        return [];
      }
      const outArr = [yearData];
      if (monthData) {
        outArr.push(monthData);
        if (dayData) {
          outArr.push(dayData);
        }
      }
  
      if (data[3]) {
        outArr.push(data[3]);
      }
      return outArr;
    }
    if (['YMD', 'YMDW'].indexOf(columns[0]) !== -1) {
      const newData = [...data];
      newData[0] = filterYMDDay(newData[0], disabledArr);
  
      return newData;
    }
    return data;
  }