av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

node.js - ant-design的組件報(bào)錯(cuò) getFieldDecorator不是function

瀏覽:122日期:2024-08-01 14:24:09

問(wèn)題描述

node.js - ant-design的組件報(bào)錯(cuò) getFieldDecorator不是function

到頁(yè)面上展示:node.js - ant-design的組件報(bào)錯(cuò) getFieldDecorator不是function報(bào)錯(cuò):sampleInfoForm.js:205Uncaught TypeError: getFieldDecorator is not a function原因是什么呢??

PS.我是抄antdesign的Form 動(dòng)態(tài)增減表單項(xiàng)的demo報(bào)錯(cuò)的

代碼:

import React from ’react’import {render} from ’react-dom’let uuid = 0;//注意formClass的名稱和var TalentUserAddForm = Form.create()(formClass);的TalentUserAddForm不能一樣 let formClass = React.createClass({ componentWillMount() { this.props.form.setFieldsValue({ keys: [0], }); }, remove(k) { const { form } = this.props; // can use data-binding to get const keys = form.getFieldValue(’keys’); const nextKeys = keys.filter((key) => { return key !== k; }); // can use data-binding to set form.setFieldsValue({ keys: nextKeys, }); }, add() { uuid++; const { form } = this.props; // can use data-binding to get const keys = form.getFieldValue(’keys’); const nextKeys = keys.concat(uuid); // can use data-binding to set // important! notify form to detect changes form.setFieldsValue({ keys: nextKeys, }); }, render() { const { getFieldDecorator, getFieldValue } = this.props.form; console.log(getFieldDecorator); const formItems = getFieldValue(’keys’).map((k) => { return (<Form.Item {...formItemLayout} label={`good friend${k}:`} key={k}> <Input style={{ width: ’60%’, marginRight: 8 }} /> <Button onClick={() => this.remove(k)}>remove</Button></Form.Item> ); });return ( <p style={{display:'inline'}}><Modal visible={this.props.appointExpertPostFormReduce.get(’addModleVisible’)} onhandleRelease={this.handleSubmit} confirmLoading={this.props.appointExpertPostFormReduce.get(’confirmLoading’)} onCancel={this.props.appointExpertPostFormAction.onCancel} width={900} maskClosable={false} footer={[ <Button style={{backGround:'#000'}} key='btn' type='ghost' size='large' onClick={this.props.appointExpertPostFormAction.onCancel}> 取 消 </Button>, <Button key='submit' type='primary' size='large' onClick={this.handleSubmit}> 確 定 </Button>, ]}> <Form horizontal> {formItems}<Form.Item wrapperCol={{ span: 18, offset: 6 }}> <Button onClick={this.add} style={{ marginRight: 8 }}>add good friend</Button></Form.Item> </Form></Modal> </p> ); }, });var PostForm = Form.create()(formClass);module.exports = PostForm;

問(wèn)題解答

回答1:

你可以先試著在你你貼出的代碼的第二行console.log(getFieldDecorator)一下,以確定這是一個(gè)實(shí)際存在的函數(shù)

另外是因?yàn)閟egmentfault貼圖片太簡(jiǎn)單了還怎么的,全都喜歡截圖貼代碼,別人幫你改代碼還要手打一遍嗎?

回答2:

getFieldDecorator 是 antd@2 引入的,確認(rèn)下你使用的 antd 版本。

相關(guān)文章:
主站蜘蛛池模板: 一区二区三区视频在线 | 黄色录像免费看 | 黄色片网站在线观看 | 欧美成人精品一区 | 日本视频在线播放 | 日韩和的一区二区 | 在线视频a| 插插插av| 国产999视频 | 亚洲91在线 | 久久日av | 91成人在线 | 成人香蕉网 | 性色av一区二区三区 | 好吊日在线视频 | 久久久蜜桃| 日韩欧美综合 | 一级黄色免费 | 国产一级网站 | 亚洲欧美日韩在线 | 国模一区二区 | 在线观看国产一区 | 欧美激情视频一区 | 成人午夜在线视频 | 第一福利丝瓜av导航 | www.精品| 国产一级二级 | 伊人成人在线视频 | 精品久久一区二区 | 丰满少妇高潮无套内谢 | 国产乱码精品一区二区三 | 日韩欧美视频一区 | 成人免费av | 香蕉综合网 | 国产激情在线视频 | 羞羞网站在线观看 | 国产伦理一区 | 免费不卡视频 | 久久cao| 自拍偷拍综合 | 美日韩精品 |