UNPKG

@antdv/pro-field

Version:

原子信息组件,统一 ProForm、ProTable、ProList、Filter 等组件里面的字段定义。

88 lines (87 loc) 2.41 kB
var __defProp = Object.defineProperty; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; import { anyType, boolType, funcType, objectType, oneOfType, stringType, vNodeType } from "@antdv/pro-utils"; const proFieldLightProps = { labelRef: objectType(), clearRef: objectType(), labelTrigger: boolType() }; const baseProFieldProps = { /** 值的类型 */ text: anyType(), /** 放置到组件上 props */ fieldProps: anyType(), /** * 组件的渲染模式类型 * @option read 渲染只读模式 * @option edit 渲染编辑模式 * */ mode: stringType(), /** * 简约模式 */ plain: boolType(), /** 轻量模式 */ light: boolType(), /** Label */ label: vNodeType(), /** 映射值的类型 */ valueEnum: objectType(), /** 唯一的key,用于网络请求 */ proFieldKey: oneOfType([String, Number]) }; const proRenderFieldProps = { /** * 自定义只读模式的渲染器 * @params props 关于dom的配置 * @params dom 默认的 dom * @return 返回一个用于读的 dom */ render: funcType(), /** * 一个自定义的编辑渲染器。 * @params text 默认的值类型 * @params props 关于dom的配置 * @params dom 默认的 dom * @return 返回一个用于编辑的dom */ renderFormItem: funcType() }; function buildProFieldProp(extraProps) { return __spreadValues(__spreadValues(__spreadValues({}, baseProFieldProps), proRenderFieldProps), extraProps); } const proFieldFCRenderProps = __spreadValues({ readonly: boolType(), placeholder: oneOfType([String, Array]), // value: anyType(), 暂时去掉,用text 代替 onChange: funcType() }, baseProFieldProps); export { baseProFieldProps, buildProFieldProp, proFieldFCRenderProps, proFieldLightProps, proRenderFieldProps };