@hzab/schema-descriptions
v1.3.6
Published
通过 schema 生成的描述列表组件
Readme
@hzab/schema-descriptions
通过 schema 生成的描述列表组件
安装
pnpm add @hzab/schema-descriptions本包同时发布到公共 npm(registry.npmjs.org,public access)与企业私有源(ld / old)。
默认源可直接安装,无需额外配置;若团队要求走内网源,见消费方接入指南。
消费方需自备 peerDependencies:@hzab/formily-result-utils、antd、react、react-dom(本包不会随包安装)。
引入方式见下方「组件」章节。
发布形态:本包在本仓以源码直出方式发布——
main指向src,由消费方打包器编译 TypeScript 与.less样式;@hzab/schema-descriptions/src/*深路径同样可直接引用。随包发布的dist/仅用于 类型解析(types→dist/index.d.ts),不是运行时入口。
组件
示例
import SchemaDes from "@hzab/schema-descriptions";
// testSchema 为 formily 生成的 schema json
<SchemaDes schema={testSchema} data={data} />;API
InfoPanel Attributes
| 参数 | 类型 | 必填 | 默认值 | 说明 | | ---------- | ------- | ---- | ------ | ------------------------------------------------------------------------------------------- | | schema | Object | 是 | - | 数据信息的 schema | | data | Object | 是 | - | 展示的数据 | | bordered | Boolean | 否 | true | 控制是否显示边框 | | layout | string | 否 | | 布局:horizontal / vertical | | column | number | 否 | 2 | 一行的 DescriptionItems 数量,可以写成像素值或支持响应式的对象写法 { xs: 8, sm: 16, md: 24} | | desConf | Object | 否 | 2 | antd descriptions 的默认配置项 | | Slots | Object | 否 | - | 数据展示的插槽 | | LabelSlots | Object | 否 | - | label 的插槽 |
Slots
- 使用插槽进行内容的自定义渲染
- props:
- value 处理过后的数据
- dataVal data 中的实际数据
- item 当前表单项配置数据
import SchemaDes from "@hzab/schema-descriptions";
// testSchema 中存在 name 为 userName 的字段
<SchemaDes
schema={testSchema}
data={data}
Slots={{
userName(props) {
console.log("Slots props", props);
return "Slots-" + props.value + props.dataVal;
},
}}
LabelSlots={{
userName(props) {
console.log("Label props", props);
return "Label-Slots-" + props.label;
},
}}
/>;