React+antd封装自定义输入组件

在封装自定义组件之前,我们需要先了解antd官网Form的官方介绍

React+antd封装自定义输入组件_第1张图片

React+antd封装自定义输入组件_第2张图片

我们可以知道,Form.getFieldDecorator会为下层组件传递一个value和onChange事件

所以在看了官网介绍后,封装自定义输入(不只是输入,级联选择等等)就很简单了

我们先在界面中写一个父组件

React+antd封装自定义输入组件_第3张图片

写一个自定义的子组件

React+antd封装自定义输入组件_第4张图片

界面呈现

React+antd封装自定义输入组件_第5张图片

在子组件中输入内容

React+antd封装自定义输入组件_第6张图片

其实这就相当于antd封装的父子组件传值,只是不用自己写方法了而已,在后期的项目中使用这种封装方法是可以省很多时间的,因为不用再想以前自己写传值方法。

下面是源码

Parent.js

import React from 'react';
import styles from './index.css';
import {Form,Input} from 'antd';
import Child from '@/pages/child';

@Form.create()
class Parent extends React.Component{
  render(){
    return (
      
我是父组件,我的内容是:{this.props.form.getFieldValue('child')||'无'} {this.props.form.getFieldDecorator('child')( )}
); } } export default Parent;

 

Child.js

import React from 'react';
import {Form,Input} from 'antd';

class Child extends React.Component{
  render(){
    return (
      
我是子组件,我有一个输入框: this.props.onChange&&this.props.onChange(e.target.value)}/>
); } } export default Child;

如有不对请指正,谢谢。

你可能感兴趣的:(React+antd封装自定义输入组件)