@beisen-cmps/form-metadata-parser
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

FormMetaDataParser 使用说明

安装
  • React 15版本 npm install @beisen-cmps/form-metadata-parser --save
  • React 16版本 npm install @beisen-platform/form-metadata-parser --save
使用方式
  1. 将初始的formData给FormMetaDataParser,然后当formData变化时,重新渲染form组件
import FormMetaDataParser from '@beisen-cmps/form-metadata-parser';

const injections = {
  fetch: fetchData, //外部提供的请求数据的方法,参数参照examples
  context: {
    application: "BeisenCloudStepAAA", //应用名
    queryObject: {}, // url上参数对象
    metaObjectContext: {  // 如果刷新字段数据源的产生配置的是params.xxx,其中xxx也是从metaObjectContext中获取
      metaObjName: '', //对象编码
      viewName: '', //表单viewName
      id: '' //当前编辑记录的id
    }
  }
};

const onFormMetaDataChanged = (newFormMetaData) => {
  this.setState({formMetaData: newFormMetaData});
}

this.metaDataParser = new FormMetaDataParser(metaData, injections);
this.metaDataParser.init(onFormMetaDataChanged);
支持根据字段元数据以及字段名称获取字段相关数据
import FieldQuery from "@beisen-cmps/form-metadata-parser/lib/query/fieldQuery";

const fieldQuery = new FieldQuery(this.state.formMetaData);
const fieldMetaData = fieldQuery.getFieldByFieldName("z9");
// fieldMetaData结构
/*

data: {
  name: 字段编码,
  text: 字段显示值,
  value:  字段值,
  num:  字段顺序号(平常可以不关注)
},
label: 字段标题,
name: 字段编码,
state: 字段状态,
readOnly: 是否只读,
editable: 是否可编辑,
required: 是否必填,
datasource: 字段数据源,
hidden: 字段是否隐藏,
validators: 字段验证器,

*/

const allVisibleField = fieldQuery.getVisableFields();

Readme

Keywords

none

Package Sidebar

Install

npm i @beisen-cmps/form-metadata-parser

Weekly Downloads

3

Version

1.0.5

License

ISC

Unpacked Size

146 kB

Total Files

58

Last publish

Collaborators

  • beisencorp