@schema-render/search-react
Version:
Conditional search component based on FormRender.
22 lines (21 loc) • 742 B
JavaScript
/**
* 创建折叠的 Schema
* @param rawSchema 原始 Schema
* @param collapsedNumber 折叠的个数
* @returns 折叠的 Schema
*/ function createCollapsedSchema(rawSchema, collapsedNumber) {
const collapsedProps = {};
const displayedKeys = Object.keys(rawSchema.properties).slice(0, collapsedNumber);
for (const key of displayedKeys){
collapsedProps[key] = rawSchema.properties[key];
}
return {
renderType: 'Root',
properties: collapsedProps
};
}
/**
* 根据折叠个数,创建展示的 Schema
*/ export default function createDisplayedSchema({ isCollapsed, rawSchema, collapsedNumber }) {
return isCollapsed ? createCollapsedSchema(rawSchema, collapsedNumber) : rawSchema;
}