react常见问题(二)

本部分主要为表单相关。

1.表单form的react使用流程。

A.引入antd插件,声明FormItem

import {Form} from ‘antd‘;

const FormItem = Form.Item;

B.包装属性,使组件带有this.props.form属性

schoolEdit = Form.create({})(schoolEdit);

C.在render中声明要使用到的this.props.form带的api

const {getFieldDecorator} = this.props.form;

一个完整的表单:

<FormItem {...formItemLayout} label="详细地址:" hasFeedback >
        {getFieldDecorator(‘address‘, {rules: [{ required: true, message: ‘请输入详细地址1-100字符‘,type: "string",pattern: /^.{1,100}$/  }],})(<Input  placeholder="请输入详细地址"/>)}
</FormItem>

2.select选项showsearch属性实时匹配搜索。

3.如果rules里面的内容为空,会默认验证类型是否为string。

4.form里面嵌入form使用format时将会报错

5.select在表单加上默认值时应当为option的value值,常见加入选择全部如下:

<Option key={-1} value={null}>全部人员</Option>

6.同一页面不能有两个表单项名字一样,同一页面如果有多个表单,提交时验证混乱,全部将会一起提交。

解决办法,采用父子组件的形式,或者单独提交某些项。

7.时间项的必填等规则在rules里面无效,可以在formItem里面写required。

8.input组件若没有结尾符将会报错,若没有首字母大写则样式丢失。

9.若表单e.target。value来取值时报错,则采用传参数value来获取。

10.时间编辑时回显

const date=detail.take_time?moment(detail.take_time, ‘YYYY-MM-DD‘):null;
<FormItem {...formItemLayout} label="建校时间:" hasFeedback >
         {getFieldDecorator(‘schooltime‘, {initialValue:date, rules: [{type:"object"}], })(
               <DatePicker placeholder="请选择建校时间" style={{ width: ‘160px‘ }}/>
          )}
 </FormItem>            

11.设置必填可以rule里requore:true,也能直接在formItem设置required。

12.获取单个表单的值:var aa = this.props.form.getFieldValue(‘aa‘);

重置单个表单:this.props.form.resetFields(["aa",""]);

13.单选按钮里赋值不能采用大括号,要使用引号,select option赋值是大括号

<RadioGroup>

  <Radio value="1">启用</Radio>

</RadioGroup>

14.表单中getFieldDecorator必须写上名字,不然报错

15.表单的验证规则写在rule内,带上类型验证

时间: 2024-12-30 04:43:14

react常见问题(二)的相关文章

React Native 二:快速入门

前面我们使用react-native init创建了一个项目,这是一个简单的Hello World App(项目结构如下图).对于iOS来说,你需要编辑index.ios.js来改变App:对于Android,你需要编辑index.android.js来修改App.然后摇晃菜单中点击Road JS查看改变.下面我们就以Android为例子来尝试修改了App. 一.修改index.android.js文件 index.android.js文件: //Mock数据 var MOCKED_MOVIES

react学习(二)试写一个例子

一.render方法 参考https://itbilu.com/javascript/react/EJiqU81te.html React的组件最终通过render方法渲染到DOM中,该方法由ReactDOM类库提供.API如下: ReactComponent render( ReactElement element,//需要渲染的元素 DOMElement container,//渲染结果在DOM中插入的位置 [function callback]//渲染完成后的回调函数 ) 二.动手写一个H

react生成二维码

图片实例: 简介: QRCode.js 是一个生成二维码的JS库.主要是通过获取 DOM 的节点,再通过 HTML5 Canvas 绘制而成,不依赖任何库. 用法: 1. 在项目中引入qrcode.min.js文件. js文件网盘地址: https://pan.baidu.com/s/1kHB90FpMAJUvGvDNPpMm7Q 提取码: hkz4 2. 创建ref节点: <div style={{ width, height }} ref={qrcodeRef} /> 3. 在render

react常见问题(一)

1.setState的方法不能用在render中,可用this.state=" "代替,一般不推荐,在render里面不应该有此操作. 2.setState引起重新渲染render是一个异步操作. 3.return后面不能直接换行,要跟代码或者大括号. 4.原生HTML元素名以小写字母开头,而自定义的react组件必须以大写字母开头.除此之外还需要注意组件类只能包含一个顶级标签,否则报错. 5.页面间传值link='houseInfo?id=${record.id}';接收页面:var

React(二)实现双向数据流

<div id="app"></div> <script src="bower_components/react/react.min.js"></script> <script src="bower_components/react/react-dom.min.js"></script> <!-- 引入React的一个扩展 --> <script src=&

从0开始学习react(二)

今天,开始学习第二节!!! 工欲善其事,必先利其器 react推荐我们使用webpack来打包文件,那么我们就用吧!(其实真心不想用啊) 至于好处网上写的天花乱坠的,大家自行解决啊... 这节主要就学习怎么配置webpack了,这玩意我捣鼓了整整一天才弄的一知半解,哎,脑子差就是吃亏... 1.提前准备工作 (ps:自己装好node啊,别怪我没提醒你) 首先,你需要有一个自己的文件夹,至于什么名字你自己看着办,我的叫做 reactdemo 里面放一个测试的html加一个js文件夹 2.安装 2.

QT5常见问题二:程序显示中文乱码以及Linguist打开翻译文件乱码,该如何解决?

在使用Qt库进行程序开发的过程中,中文乱码问题是许多程序员都会遇到的问题,解决方法也有很多种.在Qt4的各个版本中,大家解决中文乱码的方法比较一致,也很有效!一:在Qt4中通常使用如下代码,便可以轻松解决中文乱码问题: QTextCodec *codec = QTextCodec::codecForName("GB2312"); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); Q

react常见问题(三)

表格相关 <Table dataSource={data} className="mt1" columns={columns} pagination={pagination} rowKey={record => record.city_id}/> const columns = [{ title: '学校名称', dataIndex: 'school_name', key: 'school_name', render:(text,record)=>{ if(te

React 随笔二

这周做的demo3和demo4.5 随记的小点. 1.js错误提示: Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `HelloMessage`. See https://fb.me/react-warning-keys for more information. 解决办法,给组件加个key属性,并赋值唯一key值用来标识.