mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2026-05-08 17:48:47 +00:00
补全方法的参数类型、返回值类型与详情说明,规范字段编辑器/字段配置/运行时 API 等文档。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.6 KiB
2.6 KiB
Page
Page 是 @tmagic/core 的页面类,继承自 Node,用于管理页面及其子节点。
构造函数
new Page(options: PageOptions)
PageOptions
继承自 NodeOptions,参见 Node 构造函数。
属性
| 属性 | 类型 | 说明 |
|---|---|---|
nodes |
Map<Id, Node> |
页面内所有节点的映射表 |
继承自 Node 的属性请参见 Node 属性。
实例方法
initNode
-
参数:
{MComponent | MContainer} config节点配置{Node} parent父节点
-
返回:
{void}
-
详情:
初始化节点,根据配置创建节点实例并通过
setNode添加到页面:- 当节点类型属于
app.iteratorContainerType时,会创建IteratorContainer并直接返回,不会继续递归config.items(迭代容器内的子节点由IteratorContainer自身在每次迭代时按需初始化)。 - 当属于
app.pageFragmentContainerType且配置了pageFragmentId时,会在app.pageFragments中创建对应的页面片段实例。 - 其他类型会创建普通节点后递归初始化
config.items子节点。
- 当节点类型属于
-
示例:
page.initNode(
{
id: 'button_1',
type: 'button',
style: { width: 100 }
},
page,
);
getNode
-
参数:
{Id} id节点 ID{GetNodeOptions} options获取选项(可选)
-
返回:
{Node | undefined}
-
详情:
获取页面中指定 ID 的节点。支持从迭代器容器和页面片段中获取节点。
-
GetNodeOptions:
| 参数 | 类型 | 说明 |
|---|---|---|
iteratorContainerId |
Id[] |
迭代器容器 ID 数组 |
iteratorIndex |
number[] |
迭代器索引数组 |
pageFragmentContainerId |
Id |
页面片段容器 ID |
strict |
boolean |
是否严格模式 |
- 示例:
const node = page.getNode('button_1');
// 从迭代器中获取
const iteratorNode = page.getNode('item_1', {
iteratorContainerId: ['iterator_1'],
iteratorIndex: [0]
});
setNode
-
参数:
{Id} id节点 ID{Node} node节点实例
-
返回:
{void}
-
详情:
设置页面中的节点。
deleteNode
-
参数:
{Id} id节点 ID
-
返回:
{void}
-
详情:
删除页面中指定 ID 的节点。
-
示例:
page.deleteNode('button_1');
destroy
-
返回:
{void}
-
详情:
销毁页面及其所有子节点。
-
示例:
page.destroy();