JSPM

@lovelope/create-factory

0.1.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q38949F
  • License MIT

Lightweight higher order components for edit page or detail page.

Package Exports

  • @lovelope/create-factory
  • @lovelope/create-factory/lib/create-factory.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@lovelope/create-factory) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@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

Property Description type required default
key ID value defined in routing URL string, number false 'id'
getAction The function that pulls the form data when it is initialized () => promise false --
putAction Submit the function to be called after editing the form () => promise false --
postAction The function to be called when adding a new form promise false --
mapPropsToFields The formatting function of the data that getAction is filled in before the form item is filled in. function false () => {}
initialValues Form default values object false {}