| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | import React from 'react';import { DatePicker, Space } from '@douyinfe/semi-ui';import classNames from 'classnames';import '@douyinfe/semi-foundation/datePicker/datePicker.scss'; import './index.scss';/** * 开启 Chromatic UI 测试 */export default function Demo() {    const dayStyle = {        display: 'flex',        alignItems: 'center',        justifyContent: 'center',        width: '100%',        height: '100%',        margin: '0 auto',        boxSizing: 'border-box',        borderRadius: '50%',    };    const renderFullDate = (dayNumber, fullDate, dayStatus) => {        const { isToday, isInRange, isHover, isSelected, isSelectedStart, isSelectedEnd, isDisabled } = dayStatus;        const prefix = 'components-datepicker-demo';        const dateCls = classNames({            [`${prefix}-day-today`]: isToday,            [`${prefix}-day-inrange`]: isInRange,            [`${prefix}-day-hover`]: isHover,            [`${prefix}-day-selected`]: isSelected,            [`${prefix}-day-selected-start`]: isSelectedStart,            [`${prefix}-day-selected-end`]: isSelectedEnd,            [`${prefix}-day-disabled`]: isDisabled,        });        return (            <div style={dayStyle} className={dateCls}>                {dayNumber}            </div>        );    };    const props = {        defaultOpen: true,        position: 'bottomLeft',        autoAdjustOverflow: false,        motion: false,    };    const singleDefaultValue = new Date('2021-01-08');    const multipleDefaultValue = [new Date('2021-01-08'), new Date('2021-01-09'), new Date('2021-01-10'), new Date('2021-01-19')];    const rangeDefaultValue = [new Date('2021-12-08'), new Date('2021-01-20')];    return (        <div style={{ height: '100vh' }}>            <div>                通过 renderFullDate 可以自定义日期单元格子的渲染,API 提供日期的当前状态:是否被选中,是否是当前日等。            </div>              <Space wrap spacing={[12, 400]}>                <div>                    单选选中                    <DatePicker {...props} style={{ width: '230px' }} renderFullDate={renderFullDate} defaultValue={singleDefaultValue} />                </div>                <div>                    多选选中                    <DatePicker {...props} style={{ width: '230px' }} multiple={true} renderFullDate={renderFullDate} defaultValue={multipleDefaultValue} />                </div>                <div>                    范围选中                    <DatePicker {...props} style={{ width: '230px' }} type={'dateRange'} renderFullDate={renderFullDate} defaultValue={rangeDefaultValue} />                </div>            </Space>        </div>    );}Demo.parameters = {    chromatic: {        disableSnapshot: false,        delay: 3000,        viewports: [1800]    },};
 |