DatePicker 禁用错误

DatePicker disable error

我想创建一个组件,其中包含 Datepicker and ChoiceGroup 使用 ReactJs 和 office365。在第一次渲染时,日期选择器必须被禁用,当我们在 ChoiceGroup 中选择自定义单选按钮时,它必须是 enabled.Piece 代码:

<div>
                    <ChoiceGroup
                        defaultSelectedKey='all'
                        onChange={ this._onChange }
                        label='Date'
                        options={ [
                            {
                                key: 'all',
                                text: 'All'
                            },
                            {
                                key: 'thisWeek',
                                text: 'This week',
                            },
                            {
                                key: 'lastWeek',
                                text: 'Last week',
                            },
                            {
                                key: 'thisMonth',
                                text: 'This month',
                            },
                            {
                                key: 'custom',
                                text: 'Custom',
                            }
                        ] }

                    />

                            <DatePicker
                                label='label'
                                isRequired={ false }
                                disabled={ pickerDisabled }
                                strings={ strings }
                                allowTextInput={ false }
                                value={ value }
                            />

                </div>

picker 有 disabled 参数,我想在 ChoiceGrou 方法中更改它:

onChange = (ev, option) => {
        console.dir(option);
        if(option.key === 'custom') {
            this.setState({
                pickerDisabled: false
            })
        } else {
            this.setState({
                pickerDisabled: true
            })
        }
    }

此方法有效并更改参数,但日期选择器组件的禁用不会更改。它保持不变,当我单击任何单选按钮时,我在控制台中出现错误:

Exception in DatePicker.componentWillReceiveProps(): TypeError: date1.getFullYear is not a function

这个错误的原因是什么?

您似乎将无效的 value 传递给 DatePicker 组件,我的猜测(没有更多 context/info)是 valuenull/undefined 默认和 DatePicker 默认为当天,但是 value 是由单选按钮设置的,它不是一个有效值(基于错误,它看起来就像 DatePicker 期待一个 Date 对象(它试图在其上调用 getFullYear()),但 value 是一个字符串)。

检查 DatePicker 组件的文档以了解其 value 属性中的预期内容并进行相应更新。