Skip to main content

Modal-like Components Have hidden Forced to true

Note

For the correct way to show dialogs, see: How to show/hide a dialog via a button

Cause

Because of the hidden property, Modal components do not render in preview, so their instance cannot be obtained.

Fix

Add a Save-stage propsReducer

Add a propsReducer for the Save stage that removes the hidden prop. Example:

import { project } from '@rchh/lowcode-engine';
import { IPublicEnumTransformStage } from '@rchh/lowcode-types';

export const deleteHiddenTransducer = (ctx: any) => {
return {
name: 'deleteHiddenTransducer',
async init() {
project.addPropsTransducer((props: any): any => {
delete props.hidden;
return props;
}, IPublicEnumTransformStage.Save);
},
};
};

deleteHiddenTransducer.pluginName = 'deleteHiddenTransducer';

Export schema using Save stage

import { TransformStage } from '@rchh/lowcode-types';

const schema = project.exportSchema(TransformStage.Save);