@beisen-cmps/form-metadata-parser

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();

Repository

https@gitlab.beisencorp.com:ux-share-platform/ux-form-metadata-parser


上一篇:@beisen-phoenix/grid
下一篇:前端|LeetCode155_最小栈

相关推荐

  • cmps

    cmps is not only a server tool but also a powerful tool to design & make your component/UI quick...

    10 个月前
  • babel-plugin-beisen-transform

    初始化参数 [ "beisen-transform", { manglers: ['exports', 'imports'], options: {...

    7 个月前
  • @beisen/wrapper-webpack-plugin

    Wraps output files (chunks) with custom text or code. #A webpack plugin that wraps output files (chu...

    7 个月前
  • @beisen/webpack-config

    @beisen/webpack-config CDN by jsDelivr - A free, fast, and reliable...

    7 个月前
  • @beisen/webpack-compile-plugin

    Webpack插件,1.减少运行时间(ms);2.提供外部模块(external)热加载 减少运行时时间 将webpack bundler 的js文件中的模块数组从包内函数中提取出来,减少第一次加载...

    7 个月前
  • @beisen/versionplugin

    export hash as version to the file @beisen/versionplugin CDN by jsD...

    2 个月前
  • @beisen/user-selector

    UserSelector UserSelector 更新信息 目前选人组件已内置 Tita 真实数据,如不使用内置数据,isUseInitial 为 false 即可,但使用时得手动在 Reduce...

    6 个月前
  • @beisen/upaas-metadata-core

    beisen-upaas,标准原数据 meta-runner 元数据渲染器模块,解析标准元数据渲染出页面 组件 { name: 'cmp-name', /* 组件的名字,通常用作唯一标示 */ ...

    3 个月前
  • @beisen/um-rich-editor

    richeditor 使用说明 项目运行 cnpm install 或 npm install cnpm使用教程 npm run dev (开发环境打包 port:8080) npm run t...

    6 个月前
  • @beisen/typescript-config

    公共的typescript配置文件 typescript-config HomePage https://github.com/BeisenUX/typescript-config#readme Re...

    1 个月前

官方社区

扫码加入 JavaScript 社区