0.1.2 • Published 1 year ago

@lovelope/create-factory v0.1.2

Weekly downloads
1
License
MIT
Repository
github
Last release
1 year ago

@lovelope/create-factory

CreateFactory is a high-level component used to manage editing pages and details pages; it is mainly responsible for data pulling and updating.

English 中文

安装

npm i -S @lovelope/create-factory
# OR
yarn add -S @lovelope/create-factory

使用

import CreateFactory from '@lovelope/create-factory';
import React from 'react';
import { Form } from 'antd';
import { getUserInfo, putUserInfo } from './services';

const FormItem = Form.Item;

// this page's path is /user/edit/:userId

@CreateFactory({
  key: 'userId',
  getAction: getUserInfo,
  putAction: putUserInfo,
})
class Email extends React.Component {
  render() {
    const {
      form: { getFieldDecorator },
    } = this.props;
    return (
      <Form>
        <FormItem label="username">
          {getFieldDecorator('name')(<Input />)}
        </FormItem>
        <FormItem label="Eamil">
          {getFieldDecorator('email')(<Input />)}
        </FormItem>
      </Form>
    );
  }
}

Options

PropertyDescriptiontyperequireddefault
keyID value defined in routing URLstring, numberfalse'id'
getActionThe function that pulls the form data when it is initialized() => promisefalse--
putActionSubmit the function to be called after editing the form() => promisefalse--
postActionThe function to be called when adding a new formpromisefalse--
mapPropsToFieldsThe formatting function of the data that getAction is filled in before the form item is filled in.functionfalse() => {}
initialValuesForm default valuesobjectfalse{}