1. 坑一:
报错:Cannot read property 'getFieldDecorator' of undefined
解决方法:
Form.create()(Questionary) // 用Form.create()加一层
2. 坑二
报错:'form' is missing in props validation react/prop-types
原因: 加了代码检查工具eslint
解决办法:
第一步: import PropTypes from 'prop-types';
第二步: form: PropTypes.any
3. 坑三 怎么在组件中使用 getFieldDecorator
第一步:父级组件中这么写:需要用<Form></Form>嵌套一下
第二步:子组件这么用:
ShowTextArea () {
const data = this.props.data
const validRules = data.textValidate
const { getFieldDecorator } = this.props.form
return <FormItem key={data.id}>
{getFieldDecorator(`textareaValue`, {
initialValue: validRules.initVal, // 默认文本
rules: [{
required: true,
message: validRules.errMsg // 错误信息
}]
})(
<TextArea placeholder="Please enter content" />
)}
</FormItem>
}
当页面上多个子组件,要保证变量不一样,这么写:
ShowTextArea () {
const data = this.props.data
const validRules = data.textValidate
const { getFieldDecorator } = this.props.form
return <FormItem key={data.id}>
{getFieldDecorator(`textareaValue-${data.id}`, {
initialValue: validRules.initVal, // 默认文本
rules: [{
required: true,
message: validRules.errMsg // 错误信息
}]
})(
<TextArea placeholder="Please enter content" />
)}
</FormItem>
}
未完待续。。。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。