All Projects → zmitry → redux-form-antd

zmitry / redux-form-antd

Licence: MIT license
Ant design bindings for redux form

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to redux-form-antd

Ant Design Aliyun Theme
⚙ Ant Design Theme for console.aliyun.com
Stars: ✭ 237 (+121.5%)
Mutual labels:  antd, ant-design
elm-antd
The official Ant Design UI Kit for Elm
Stars: ✭ 56 (-47.66%)
Mutual labels:  antd, ant-design
react-antd-formutil
Happy to use react-formutil in the project based on ant-design ^_^
Stars: ✭ 16 (-85.05%)
Mutual labels:  antd, ant-design
Virtual List
🧾 React Virtual List Component which worked with animation
Stars: ✭ 232 (+116.82%)
Mutual labels:  antd, ant-design
ant-table-extensions
Export, Search extensions to Ant Design's Table component.
Stars: ✭ 43 (-59.81%)
Mutual labels:  antd, ant-design
React Ant
(基于pro 2.0)基于Ant Design Pro 的 (多标签页tabs、拖拽、富文本、拾色器、多功能table、多选Select)
Stars: ✭ 231 (+115.89%)
Mutual labels:  antd, ant-design
antd-form-mate
📦 基于 ant design 的表单组件,配置化实现表单功能。
Stars: ✭ 14 (-86.92%)
Mutual labels:  antd, ant-design
Antd Img Crop
🔪 An image cropper for Ant Design Upload
Stars: ✭ 207 (+93.46%)
Mutual labels:  antd, ant-design
next-plugin-antd-less
🎩 Use Antd (Less) with Next.js v12, Zero Dependency on other Next-Plugins.
Stars: ✭ 338 (+215.89%)
Mutual labels:  antd, ant-design
tiny-qiniu-request
tiny-qiniu for rc-upload or antd upload component `customRequest` property
Stars: ✭ 13 (-87.85%)
Mutual labels:  antd, ant-design
Ant Design Vue
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
Stars: ✭ 15,749 (+14618.69%)
Mutual labels:  antd, ant-design
antd-pro-toolkit
🐜ant design pro toolkit.
Stars: ✭ 13 (-87.85%)
Mutual labels:  antd, ant-design
Laravel React Blog
基于 Laravel 5.5 和 React 的个人博客系统
Stars: ✭ 226 (+111.21%)
Mutual labels:  antd, ant-design
Antizer
ClojureScript library for Ant Design React UI components
Stars: ✭ 234 (+118.69%)
Mutual labels:  antd, ant-design
Ant Plus
🔺 Ant Design 表单简化版
Stars: ✭ 212 (+98.13%)
Mutual labels:  antd, ant-design
ant-design-icons
Ant Design + Material Design Icon =
Stars: ✭ 21 (-80.37%)
Mutual labels:  antd, ant-design
Vue Antd Admin
🐜 Ant Design Pro's implementation with Vue
Stars: ✭ 2,766 (+2485.05%)
Mutual labels:  antd, ant-design
Input Number
React Input Number
Stars: ✭ 199 (+85.98%)
Mutual labels:  antd, ant-design
picker
📅 All Date Pickers you need.
Stars: ✭ 185 (+72.9%)
Mutual labels:  antd, ant-design
antd-etable
Editable Table base on Ant Design
Stars: ✭ 43 (-59.81%)
Mutual labels:  antd, ant-design

redux-form-antd

Bindings for redux-form and antd.

This library should be compatible for both redux-form and react-final-form. Stories for final-form are welcome.

NPM Downloads

redux-form-antd is a set of wrappers to facilitate the use of antd components with redux-form.


Live Demo 👀

Installation

Using npm:

  $ npm install --save redux-form-antd

Available Components

  • Select
  • Radio Buttons
  • DatePicker
  • MonthPicker
  • NumberField
  • TextField
  • Switch

Usage

Rather than import your component class from antd, import it from redux-form-antd and then pass the component class directly to the component prop of Field.

import { reduxForm, Field } from 'redux-form'
import {
  SelectField,
  TextField,
} from 'redux-form-antd'

class MyForm extends Component {
  render() {
    return (
      <form>
        <Field name="username" component={TextField} placeholder="Street"/>
      </form>
    )
  }
}

// Decorate with redux-form
MyForm = reduxForm({
  form: 'myForm'
})(MyForm)

export default MyForm

or you can check stories code click.

Instance API

getRenderedComponent()

Returns a reference to the UI component that has been rendered. This is useful for calling instance methods on the UI components. For example, if you wanted to focus on the username element when your form mounts, you could do:

componentWillMount() {
  this.refs.firstField    
    .getRenderedComponent() 
    .focus()                
}

as long as you specified a ref and withRef on your Field component.

render() {
  return (
    <form>
      ...
      <Field name="username" component={TextField} withRef ref={r=>(this.textField = r)}/>
      ...
    </form>
  )
}

Custom component wrapper

You can use createComponent and customMap functions to wrap your custom component. Usage example:

import { createComponent, customMap } from 'redux-form-antd';
import { InputPasswordViewableComponent } from './components/InputPasswordViewableComponent'; // Your custom component

function mapFunction(mapProps, { input: { onChange } }) {
  return {
    ...mapProps,
    onChange: event => onChange(event.nativeEvent.target.value)
  };
}
const textFieldMap = customMap(mapFunction);

export const InputPasswordViewable = createComponent(InputPasswordViewableComponent, textFieldMap);
  • createComponent creates FormItem wrapper and attaches validate status handler.
  • customMap maps redux-form Field props to ant.design form fields props. You can omit customMap's attribute, in such case default mapping will be applied. If you specify a map function, then it should return an object with required properties for ant's FormItem and your component. The signature of map function is (mapProps, props) => ({...mapProps}), where mapProps - default mapping properties, props - redux-form's Field properties.

inspired by redux-form-material-ui by erikras

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].