问题描述
自定义getFieldDecorator包裹的组件,同时使用valuePropName和initialValue给自定义组件设初始值时浏览器报警告,难道是我使用方法不对吗?
自定义的组件接收一个fileList可为初始值,还有一个onChange函数,
问题出现的环境背景及自己尝试过哪些方法
os version:win10
antd version: 3.10.9
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
{<FormItem label={'图片'}>
{
form.getFieldDecorator('sharePiccccc', {
rules: [
{
required: true,
message: '请选择图片'
},
],
valuePropName: 'fileList',
// initialValue: [{
// id: 1,
// name: 'test',
// url: 'http://xxxxxxx'
// }],
getValueFromEvent: (fileList = []) => {
const [file = {}] = fileList;
return file.url || file.fileUrl || '';
}
})(
<MaterialCenterModal
imgWidth={120}
imgHeight={120}
selectLimit={1}
/>
)
}
</FormItem>
}
你期待的结果是什么?实际看到的错误信息又是什么?
预期结果是正常了,可以设置初始值,并且数据也被Form接管了。
但是控制台报了警告:
Warning: getFieldDecorator
will override fileList
, so please don't set fileList
directly and use setFieldsValue
to set it.
初始值通过initialValue属性设置,更改值使用setFieldsValue 。