0

我想要做的是在日期范围内设置一个日期,但有一个错误是

Type 'Date[]' is not assignable to type '[Date?, Date?]'.

Types of property 'length' are incompatible.

Type 'number' is not assignable to type '0 | 1 | 2'

代码:

const [ dateRange, setDateRange] = useState([new Date('2017-02-01'), new Date('2017-05-20')]);
<DateRangePicker
                    value={dateRange}
                    onChange={value => {
                        this.setState({ value });
                        console.log(value);
                    }} />
4

2 回答 2

1

最简单但不是“正确”的方式只是制作演员

this.setState({ value: value as [Date?, Date?]});

或者

onChange={value:[Date, Date] => {

最好[Date?, Date?]使用输入值变量在 onChange 函数中创建变量

于 2021-02-18T10:11:00.607 回答
1

正确的方法是从 rsuite 导入 valuetype

import {ValueType} from "rsuite/lib/DateRangePicker";

然后在你的 useState 中定义它

const [ dateRange, setDateRange] = useState<ValueType>([new Date('2017-02-01'), new Date('2017-05-20')])

<DateRangePicker
    value={dateRange}
    onChange={value => {
    setDateRange(value);
    }}
/>      
于 2021-02-18T10:33:37.193 回答