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)是 value
是 null
/undefined
默认和 DatePicker
默认为当天,但是 value
是由单选按钮设置的,它不是一个有效值(基于错误,它看起来就像 DatePicker
期待一个 Date
对象(它试图在其上调用 getFullYear()
),但 value
是一个字符串)。
检查 DatePicker
组件的文档以了解其 value
属性中的预期内容并进行相应更新。
我想创建一个组件,其中包含 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)是 value
是 null
/undefined
默认和 DatePicker
默认为当天,但是 value
是由单选按钮设置的,它不是一个有效值(基于错误,它看起来就像 DatePicker
期待一个 Date
对象(它试图在其上调用 getFullYear()
),但 value
是一个字符串)。
检查 DatePicker
组件的文档以了解其 value
属性中的预期内容并进行相应更新。