ViewComponentDeclaration 页面组件
1. 结构声明
- TS Declaration
- JSON Schema
class ViewComponentDeclaration extends BaseNode {
name: string = '';
kebabName!: string;
title: string;
group!: string;
icon!: string;
description?: string;
tsTypeParams?: TSExpression;
props: Array<PropDeclaration>;
readableProps: Array<PropDeclaration>;
events: Array<EventDeclaration>;
slots: Array<SlotDeclaration>;
methods: Array<LogicDeclaration>;
children: Array<ViewComponentDeclaration>;
blocks: Array<ViewBlockWithImage>;
themeVariables: Array<ThemeVariable>;
i18nMap?: Map<string, Map<string, string>>;
}
{
"type": "object",
"properties": {
"composedBy": {
"type": "array",
"items": {
"type": "string"
}
},
"changedTime": {
"$ref": "#/definitions/long"
},
"name": {
"type": "string"
},
"kebabName": {
"type": "string"
},
"title": {
"type": "string"
},
"group": {
"type": "string"
},
"icon": {
"type": "string"
},
"description": {
"type": "string"
},
"tsTypeParams": {
"$ref": "#/definitions/TSExpression"
},
"props": {
"type": "array",
"items": {
"$ref": "#/definitions/PropDeclaration"
}
},
"readableProps": {
"type": "array",
"items": {
"$ref": "#/definitions/PropDeclaration"
}
},
"events": {
"type": "array",
"items": {
"$ref": "#/definitions/EventDeclaration"
}
},
"slots": {
"type": "array",
"items": {
"$ref": "#/definitions/SlotDeclaration"
}
},
"methods": {
"type": "array",
"items": {
"$ref": "#/definitions/LogicDeclaration"
}
},
"children": {
"type": "array",
"items": {
"$ref": "#/definitions/ViewComponentDeclaration"
}
},
"blocks": {
"type": "array",
"items": {
"$ref": "#/definitions/ViewBlockWithImage"
}
},
"themeVariables": {
"type": "array",
"items": {
"$ref": "#/definitions/ThemeVariable"
}
},
"i18nMap": {
"type": "object",
"properties": {
"size": {
"type": "number"
}
},
"required": [
"size"
],
"additionalProperties": false
}
},
"required": [
"name",
"kebabName",
"title",
"group",
"icon",
"props",
"readableProps",
"events",
"slots",
"methods",
"children",
"blocks",
"themeVariables"
],
"additionalProperties": false
}