tmagic-editor/docs/runtime-api/data-source/dataSourceManager.html
2026-02-02 11:13:56 +00:00

60 lines
55 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>DataSourceManager | tmagic-editor</title>
<meta name="description" content="页面可视化平台">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/tmagic-editor/docs/assets/style.CZrNMGLM.css" as="style">
<link rel="preload stylesheet" href="/tmagic-editor/docs/vp-icons.css" as="style">
<script type="module" src="/tmagic-editor/docs/assets/app.BtykRwLu.js"></script>
<link rel="preload" href="/tmagic-editor/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/chunks/theme.EqJIyyjh.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/chunks/framework.DkLJC2NO.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/runtime-api_data-source_dataSourceManager.md.B7SYphFJ.lean.js">
<meta name="theme-color" content="#646cff">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-36591270><!--[--><!--]--><!--[--><span tabindex="-1" data-v-5856d2bc></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-5856d2bc>Skip to content</a><!--]--><!----><header class="VPNav" data-v-36591270 data-v-fcf6b202><div class="VPNavBar" data-v-fcf6b202 data-v-d86d8915><div class="wrapper" data-v-d86d8915><div class="container" data-v-d86d8915><div class="title" data-v-d86d8915><div class="VPNavBarTitle has-sidebar" data-v-d86d8915 data-v-4e485ca3><a class="title" href="/tmagic-editor/docs/" data-v-4e485ca3><!--[--><!--]--><!--[--><img class="VPImage logo" src="./favicon.png" alt data-v-d597c09a><!--]--><span data-v-4e485ca3>tmagic-editor</span><!--[--><!--]--></a></div></div><div class="content" data-v-d86d8915><div class="content-body" data-v-d86d8915><!--[--><!--]--><div class="VPNavBarSearch search" data-v-d86d8915><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-d86d8915 data-v-ff5533c3><span id="main-nav-aria-label" class="visually-hidden" data-v-ff5533c3> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/guide/" tabindex="0" data-v-ff5533c3 data-v-67fc5a8e><!--[--><span data-v-67fc5a8e>文档</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/api/editor/props.html" tabindex="0" data-v-ff5533c3 data-v-67fc5a8e><!--[--><span data-v-67fc5a8e>Editor API</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/tmagic-editor/docs/runtime-api/core/app.html" tabindex="0" data-v-ff5533c3 data-v-67fc5a8e><!--[--><span data-v-67fc5a8e>Runtime API</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/form-config/fields/text.html" tabindex="0" data-v-ff5533c3 data-v-67fc5a8e><!--[--><span data-v-67fc5a8e>表单配置</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://github.com/Tencent/tmagic-editor/releases" target="_blank" rel="noreferrer" tabindex="0" data-v-ff5533c3 data-v-67fc5a8e><!--[--><span data-v-67fc5a8e>更新日志</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://tencent.github.io/tmagic-editor/playground/index.html" target="_blank" rel="noreferrer" tabindex="0" data-v-ff5533c3 data-v-67fc5a8e><!--[--><span data-v-67fc5a8e>Playground</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-d86d8915 data-v-b495c88f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-b495c88f data-v-2736d437 data-v-6c1c63e9><span class="check" data-v-6c1c63e9><span class="icon" data-v-6c1c63e9><!--[--><span class="vpi-sun sun" data-v-2736d437></span><span class="vpi-moon moon" data-v-2736d437></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-d86d8915 data-v-c0c31a4e data-v-98e6c5f3><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Tencent/tmagic-editor" aria-label="github" target="_blank" rel="noopener" data-v-98e6c5f3 data-v-af4e3f83><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-d86d8915 data-v-a0fb53fe data-v-55d61167><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-55d61167><span class="vpi-more-horizontal icon" data-v-55d61167></span></button><div class="menu" data-v-55d61167><div class="VPMenu" data-v-55d61167 data-v-d54e0581><!----><!--[--><!--[--><!----><div class="group" data-v-a0fb53fe><div class="item appearance" data-v-a0fb53fe><p class="label" data-v-a0fb53fe>Appearance</p><div class="appearance-action" data-v-a0fb53fe><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-a0fb53fe data-v-2736d437 data-v-6c1c63e9><span class="check" data-v-6c1c63e9><span class="icon" data-v-6c1c63e9><!--[--><span class="vpi-sun sun" data-v-2736d437></span><span class="vpi-moon moon" data-v-2736d437></span><!--]--></span></span></button></div></div></div><div class="group" data-v-a0fb53fe><div class="item social-links" data-v-a0fb53fe><div class="VPSocialLinks social-links-list" data-v-a0fb53fe data-v-98e6c5f3><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Tencent/tmagic-editor" aria-label="github" target="_blank" rel="noopener" data-v-98e6c5f3 data-v-af4e3f83><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-d86d8915 data-v-fe6041d6><span class="container" data-v-fe6041d6><span class="top" data-v-fe6041d6></span><span class="middle" data-v-fe6041d6></span><span class="bottom" data-v-fe6041d6></span></span></button></div></div></div></div><div class="divider" data-v-d86d8915><div class="divider-line" data-v-d86d8915></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-36591270 data-v-cf58124c><div class="container" data-v-cf58124c><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-cf58124c><span class="vpi-align-left menu-icon" data-v-cf58124c></span><span class="menu-text" data-v-cf58124c>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-cf58124c data-v-b834c8bc><button data-v-b834c8bc>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-36591270 data-v-5ef8d95b><div class="curtain" data-v-5ef8d95b></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-5ef8d95b><span class="visually-hidden" id="sidebar-aria-label" data-v-5ef8d95b> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-0aa5b47f><section class="VPSidebarItem level-0" data-v-0aa5b47f data-v-169b0f8b><div class="item" role="button" tabindex="0" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><h2 class="text" data-v-169b0f8b>@tmagic/core</h2><!----></div><div class="items" data-v-169b0f8b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/app.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>App</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/node.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>Node</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/page.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>Page</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/eventHelper.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>EventHelper</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/env.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>Env</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/iteratorContainer.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>IteratorContainer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/flowState.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>FlowState</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/devtoolApi.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>DevtoolApi</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/utils.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>工具函数</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-0aa5b47f><section class="VPSidebarItem level-0 has-active" data-v-0aa5b47f data-v-169b0f8b><div class="item" role="button" tabindex="0" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><h2 class="text" data-v-169b0f8b>@tmagic/data-source</h2><!----></div><div class="items" data-v-169b0f8b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/dataSourceManager.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>DataSourceManager</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/dataSource.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>DataSource</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/httpDataSource.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>HttpDataSource</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/observedData.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>观察者数据类</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-169b0f8b data-v-169b0f8b><div class="item" data-v-169b0f8b><div class="indicator" data-v-169b0f8b></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/utils.html" data-v-169b0f8b><!--[--><p class="text" data-v-169b0f8b>工具函数</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-36591270 data-v-1a7b61fc><div class="VPDoc has-sidebar has-aside" data-v-1a7b61fc data-v-42ea4fcb><!--[--><!--]--><div class="container" data-v-42ea4fcb><div class="aside" data-v-42ea4fcb><div class="aside-curtain" data-v-42ea4fcb></div><div class="aside-container" data-v-42ea4fcb><div class="aside-content" data-v-42ea4fcb><div class="VPDocAside" data-v-42ea4fcb data-v-1d34bb44><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-1d34bb44 data-v-dcee81d9><div class="content" data-v-dcee81d9><div class="outline-marker" data-v-dcee81d9></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-dcee81d9>On this page</div><ul class="VPDocOutlineItem root" data-v-dcee81d9 data-v-f877905d><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-1d34bb44></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-42ea4fcb><div class="content-container" data-v-42ea4fcb><!--[--><!--]--><main class="main" data-v-42ea4fcb><div style="position:relative;" class="vp-doc _tmagic-editor_docs_runtime-api_data-source_dataSourceManager" data-v-42ea4fcb><div><h1 id="datasourcemanager" tabindex="-1">DataSourceManager <a class="header-anchor" href="#datasourcemanager" aria-label="Permalink to &quot;DataSourceManager&quot;"></a></h1><p><code>DataSourceManager</code><code>@tmagic/data-source</code> 的核心类,用于管理所有数据源的生命周期、数据编译和事件分发。</p><h2 id="构造函数" tabindex="-1">构造函数 <a class="header-anchor" href="#构造函数" aria-label="Permalink to &quot;构造函数&quot;"></a></h2><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> DataSourceManager</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(options: DataSourceManagerOptions)</span></span></code></pre></div><h3 id="datasourcemanageroptions" tabindex="-1">DataSourceManagerOptions <a class="header-anchor" href="#datasourcemanageroptions" aria-label="Permalink to &quot;DataSourceManagerOptions&quot;"></a></h3><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>app</code></td><td><code>TMagicApp</code></td><td>应用实例</td></tr><tr><td><code>initialData</code></td><td><code>DataSourceManagerData</code></td><td>初始数据(可选,用于 SSR</td></tr><tr><td><code>useMock</code></td><td><code>boolean</code></td><td>是否使用 Mock 数据(可选)</td></tr></tbody></table><h2 id="属性" tabindex="-1">属性 <a class="header-anchor" href="#属性" aria-label="Permalink to &quot;属性&quot;"></a></h2><table tabindex="0"><thead><tr><th>属性</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>app</code></td><td><code>TMagicApp</code></td><td>应用实例</td></tr><tr><td><code>dataSourceMap</code></td><td><code>Map&lt;string, DataSource&gt;</code></td><td>数据源映射表</td></tr><tr><td><code>data</code></td><td><code>DataSourceManagerData</code></td><td>所有数据源的数据</td></tr><tr><td><code>initialData</code></td><td><code>DataSourceManagerData</code></td><td>初始化数据</td></tr><tr><td><code>useMock</code></td><td><code>boolean</code></td><td>是否使用 Mock 数据</td></tr></tbody></table><h2 id="静态方法" tabindex="-1">静态方法 <a class="header-anchor" href="#静态方法" aria-label="Permalink to &quot;静态方法&quot;"></a></h2><h3 id="register" tabindex="-1">register <a class="header-anchor" href="#register" aria-label="Permalink to &quot;register&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{string} type</code> 数据源类型</li><li><code>{typeof DataSource} dataSourceClass</code> 数据源类</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>注册自定义数据源类型。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { DataSourceManager } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;@tmagic/data-source&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> CustomDataSource</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> extends</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> DataSource</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // 自定义实现</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">DataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">register</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;custom&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, CustomDataSource);</span></span></code></pre></div><h3 id="getdatasourceclass" tabindex="-1">getDataSourceClass <a class="header-anchor" href="#getdatasourceclass" aria-label="Permalink to &quot;getDataSourceClass&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{string} type</code> 数据源类型</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{typeof DataSource | undefined}</code></li></ul></li><li><p><strong>详情:</strong></p><p>获取已注册的数据源类。</p></li></ul><h3 id="cleardatasourceclass" tabindex="-1">clearDataSourceClass <a class="header-anchor" href="#cleardatasourceclass" aria-label="Permalink to &quot;clearDataSourceClass&quot;"></a></h3><ul><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>清除所有已注册的数据源类(保留 <code>base</code><code>http</code>)。</p></li></ul><h3 id="registerobserveddata" tabindex="-1">registerObservedData <a class="header-anchor" href="#registerobserveddata" aria-label="Permalink to &quot;registerObservedData&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{ObservedDataClass} observedDataClass</code> 观察者数据类</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>注册自定义的观察者数据类。</p></li></ul><h2 id="实例方法" tabindex="-1">实例方法 <a class="header-anchor" href="#实例方法" aria-label="Permalink to &quot;实例方法&quot;"></a></h2><h3 id="init" tabindex="-1">init <a class="header-anchor" href="#init" aria-label="Permalink to &quot;init&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{DataSourceSchema[]} ds</code> 数据源配置数组</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{Promise&lt;void&gt;}</code></li></ul></li><li><p><strong>详情:</strong></p><p>初始化数据源,会创建所有配置的数据源实例并初始化。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">init</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">([</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;ds_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;base&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> fields: [{ name: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;count&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, defaultValue: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;http_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;http&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> options: { url: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;/api/data&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]);</span></span></code></pre></div><h3 id="get" tabindex="-1">get <a class="header-anchor" href="#get" aria-label="Permalink to &quot;get&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{string} id</code> 数据源 ID</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{DataSource | undefined}</code></li></ul></li><li><p><strong>详情:</strong></p><p>获取指定 ID 的数据源实例。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ds</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">get</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;ds_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span></code></pre></div><h3 id="adddatasource" tabindex="-1">addDataSource <a class="header-anchor" href="#adddatasource" aria-label="Permalink to &quot;addDataSource&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{DataSourceSchema} config</code> 数据源配置</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{DataSource}</code></li></ul></li><li><p><strong>详情:</strong></p><p>添加新的数据源。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ds</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">addDataSource</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;new_ds&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;base&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> fields: []</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><h3 id="removedatasource" tabindex="-1">removeDataSource <a class="header-anchor" href="#removedatasource" aria-label="Permalink to &quot;removeDataSource&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{string} id</code> 数据源 ID</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>移除指定的数据源。</p></li></ul><h3 id="setdata" tabindex="-1">setData <a class="header-anchor" href="#setdata" aria-label="Permalink to &quot;setData&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{DataSourceSchema} ds</code> 数据源配置</li><li><code>{ChangeEvent} changeEvent</code> 变化事件(可选)</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>设置数据源数据。</p></li></ul><h3 id="updateschema" tabindex="-1">updateSchema <a class="header-anchor" href="#updateschema" aria-label="Permalink to &quot;updateSchema&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{DataSourceSchema[]} schemas</code> 数据源配置数组</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{Promise&lt;void&gt;}</code></li></ul></li><li><p><strong>详情:</strong></p><p>更新数据源 DSL 配置,会自动处理新增、更新和删除。</p></li></ul><h3 id="compilednode" tabindex="-1">compiledNode <a class="header-anchor" href="#compilednode" aria-label="Permalink to &quot;compiledNode&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{MNode} node</code> 节点配置</li><li><code>{string} sourceId</code> 数据源 ID可选</li><li><code>{boolean} deep</code> 是否深度编译(可选)</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{MNode}</code></li></ul></li><li><p><strong>详情:</strong></p><p>编译节点 DSL 中的数据源配置,将数据源引用替换为实际值。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> compiledNode</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">compiledNode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> text: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;${ds_1.username}&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// compiledNode.text 会被替换为实际的用户名</span></span></code></pre></div><h3 id="compliedconds" tabindex="-1">compliedConds <a class="header-anchor" href="#compliedconds" aria-label="Permalink to &quot;compliedConds&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{MNode} node</code> 节点配置</li><li><code>{object} data</code> 数据上下文(可选)</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{boolean}</code></li></ul></li><li><p><strong>详情:</strong></p><p>编译显示条件,返回节点是否应该显示。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> shouldShow</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">compliedConds</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(node);</span></span></code></pre></div><h3 id="compliediteratoritemconds" tabindex="-1">compliedIteratorItemConds <a class="header-anchor" href="#compliediteratoritemconds" aria-label="Permalink to &quot;compliedIteratorItemConds&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{object} itemData</code> 迭代项数据</li><li><code>{MNode} node</code> 节点配置</li><li><code>{string} field</code> 条件字段名</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{boolean}</code></li></ul></li><li><p><strong>详情:</strong></p><p>编译迭代器项的显示条件。</p></li></ul><h3 id="compliediteratoritems" tabindex="-1">compliedIteratorItems <a class="header-anchor" href="#compliediteratoritems" aria-label="Permalink to &quot;compliedIteratorItems&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{object} itemData</code> 迭代项数据</li><li><code>{MNode[]} nodes</code> 节点配置数组</li><li><code>{string} field</code> 字段名</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{MNode[]}</code></li></ul></li><li><p><strong>详情:</strong></p><p>编译迭代器项的节点配置。</p></li></ul><h3 id="ondatachange" tabindex="-1">onDataChange <a class="header-anchor" href="#ondatachange" aria-label="Permalink to &quot;onDataChange&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{string} id</code> 数据源 ID</li><li><code>{string} path</code> 数据路径</li><li><code>{Function} callback</code> 回调函数</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>监听数据源数据变化。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">onDataChange</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;ds_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;user.name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">newVal</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;用户名变更:&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, newVal);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><h3 id="offdatachange" tabindex="-1">offDataChange <a class="header-anchor" href="#offdatachange" aria-label="Permalink to &quot;offDataChange&quot;"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{string} id</code> 数据源 ID</li><li><code>{string} path</code> 数据路径</li><li><code>{Function} callback</code> 回调函数</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>取消监听数据源数据变化。</p></li></ul><h3 id="destroy" tabindex="-1">destroy <a class="header-anchor" href="#destroy" aria-label="Permalink to &quot;destroy&quot;"></a></h3><ul><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>销毁数据源管理器,清理所有数据源。</p></li></ul><h2 id="事件" tabindex="-1">事件 <a class="header-anchor" href="#事件" aria-label="Permalink to &quot;事件&quot;"></a></h2><p>DataSourceManager 继承自 EventEmitter支持以下事件</p><table tabindex="0"><thead><tr><th>事件名</th><th>说明</th><th>回调参数</th></tr></thead><tbody><tr><td><code>change</code></td><td>数据源数据变化</td><td><code>(dsId, path, newVal)</code></td></tr><tr><td><code>init</code></td><td>所有数据源初始化完成</td><td></td></tr><tr><td><code>registered-all</code></td><td>所有数据源注册完成</td><td></td></tr><tr><td><code>update-data</code></td><td>更新节点数据</td><td><code>(node, sourceId)</code></td></tr></tbody></table><h3 id="事件监听示例" tabindex="-1">事件监听示例 <a class="header-anchor" href="#事件监听示例" aria-label="Permalink to &quot;事件监听示例&quot;"></a></h3><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;change&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">dsId</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">path</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">newVal</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">`数据源 ${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dsId</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">} 的 ${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">path</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">} 变更为:`</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, newVal);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dataSourceManager.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;init&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, () </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;所有数据源初始化完成&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-42ea4fcb data-v-8365344e><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-8365344e><span class="visually-hidden" id="doc-footer-aria-label" data-v-8365344e>Pager</span><div class="pager" data-v-8365344e><a class="VPLink link pager-link prev" href="/tmagic-editor/docs/runtime-api/core/utils.html" data-v-8365344e><!--[--><span class="desc" data-v-8365344e>Previous page</span><span class="title" data-v-8365344e>工具函数</span><!--]--></a></div><div class="pager" data-v-8365344e><a class="VPLink link pager-link next" href="/tmagic-editor/docs/runtime-api/data-source/dataSource.html" data-v-8365344e><!--[--><span class="desc" data-v-8365344e>Next page</span><span class="title" data-v-8365344e>DataSource</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-36591270 data-v-a79f70ae><div class="container" data-v-a79f70ae><p class="message" data-v-a79f70ae>Powered by 腾讯视频会员平台技术中心</p><p class="copyright" data-v-a79f70ae>Copyright (C) 2025 Tencent.</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_editor_codeblockservicemethods.md\":\"BX3_siEm\",\"api_editor_componentlistservicemethods.md\":\"CaiU5OMF\",\"api_editor_datasourceservicemethods.md\":\"CAoPyiGv\",\"api_editor_editorserviceevents.md\":\"gcFs85FS\",\"api_editor_editorservicemethods.md\":\"DKiiyoPz\",\"api_editor_events.md\":\"BykK47dJ\",\"api_editor_eventsservicemethods.md\":\"CQxboHVr\",\"api_editor_historyserviceevents.md\":\"B7KupcqD\",\"api_editor_historyservicemethods.md\":\"B4obX-T3\",\"api_editor_props.md\":\"DWCwb77u\",\"api_editor_propsserviceevents.md\":\"Bhooxxnn\",\"api_editor_propsservicemethods.md\":\"Bz1ljBiU\",\"api_editor_slots.md\":\"ChfXa7kw\",\"api_editor_storageservicemethods.md\":\"DDiOwi5a\",\"api_editor_uiservicemethods.md\":\"CpPtl7oI\",\"api_form_form-dialog-events.md\":\"BQrVPpPK\",\"api_form_form-dialog-methods.md\":\"DEL0Eh3K\",\"api_form_form-dialog-props.md\":\"BlahsoDf\",\"api_form_form-events.md\":\"CgPQ3xhz\",\"api_form_form-methods.md\":\"DVzlGQIE\",\"api_form_form-props.md\":\"B_-pPs7j\",\"api_stage_coreevents.md\":\"BJgI_eWC\",\"api_stage_coremethods.md\":\"cDBiJupB\",\"api_table_events.md\":\"uY2Q6YZ2\",\"api_table_methods.md\":\"QkOCzJ6I\",\"api_table_props.md\":\"_WrWithq\",\"form-config_compare.md\":\"CxuguNFe\",\"form-config_editor-fields_code-link.md\":\"BKQqDQ-o\",\"form-config_editor-fields_code-select-col.md\":\"CAXo8Gdo\",\"form-config_editor-fields_code-select.md\":\"CYk7LEMU\",\"form-config_editor-fields_code.md\":\"DGnHcYO9\",\"form-config_editor-fields_cond-op-select.md\":\"DRTJ6abx\",\"form-config_editor-fields_data-source-field-select.md\":\"DR1kwf8H\",\"form-config_editor-fields_data-source-fields.md\":\"CnEqKG3I\",\"form-config_editor-fields_data-source-input.md\":\"YD9_hjaD\",\"form-config_editor-fields_data-source-method-select.md\":\"CsGjsRpB\",\"form-config_editor-fields_data-source-methods.md\":\"DA7qZPCv\",\"form-config_editor-fields_data-source-mocks.md\":\"C_py-HVd\",\"form-config_editor-fields_data-source-select.md\":\"0BjjDcvd\",\"form-config_editor-fields_display-conds.md\":\"DAg2DaL-\",\"form-config_editor-fields_event-select.md\":\"BV3lJb_r\",\"form-config_editor-fields_key-value.md\":\"COo3lmAD\",\"form-config_editor-fields_page-fragment-select.md\":\"BCMgnfOv\",\"form-config_editor-fields_ui-select.md\":\"D0tX04T2\",\"form-config_fields_cascader.md\":\"C0c0NFLI\",\"form-config_fields_checkbox.md\":\"BLrH5nrH\",\"form-config_fields_color-picker.md\":\"bjDdQpvY\",\"form-config_fields_date-picker.md\":\"CPNFs5b5\",\"form-config_fields_daterange-picker.md\":\"Db24ADad\",\"form-config_fields_datetime-picker.md\":\"Cx2bLmNB\",\"form-config_fields_display.md\":\"BaiQUX7K\",\"form-config_fields_dynamic-field.md\":\"pj2jVJDM\",\"form-config_fields_hidden.md\":\"CY0o0qcd\",\"form-config_fields_link.md\":\"BO3PrLPD\",\"form-config_fields_number-range.md\":\"BjTrt9wC\",\"form-config_fields_number.md\":\"c76O_OEh\",\"form-config_fields_radio.md\":\"DDDbGnrf\",\"form-config_fields_select.md\":\"D-hxYaPx\",\"form-config_fields_switch.md\":\"DRJauj9b\",\"form-config_fields_text.md\":\"nfBZO4U6\",\"form-config_fields_textarea.md\":\"BytSbPPK\",\"form-config_fields_time-picker.md\":\"Cqzj5cz_\",\"form-config_fields_timerange-picker.md\":\"Bjottjin\",\"form-config_layout.md\":\"DgWujzt6\",\"form-config_relate.md\":\"D4BEna2n\",\"guide_advanced_code-block.md\":\"B8iGTN8d\",\"guide_advanced_coupling.md\":\"Ch5QsuoK\",\"guide_advanced_data-source.md\":\"DG0DsdJV\",\"guide_advanced_js-schema.md\":\"HvE43RGl\",\"guide_advanced_layout.md\":\"B3q7H8Pu\",\"guide_advanced_page.md\":\"Db2dMbH0\",\"guide_advanced_tmagic-form.md\":\"Ctv1XIF5\",\"guide_advanced_tmagic-ui.md\":\"BKuDBLIF\",\"guide_component.md\":\"9ynlkeYM\",\"guide_conception.md\":\"BPjbVwPx\",\"guide_editor-expand.md\":\"hu4ukQA2\",\"guide_index.md\":\"SziXfziI\",\"guide_introduction.md\":\"CTlEAu5R\",\"guide_migration.md\":\"DF5WlNCT\",\"guide_publish.md\":\"BxM8UPuD\",\"guide_runtime.md\":\"BGV1Aw8_\",\"guide_tutorial_hello-world.md\":\"BwBB0sLQ\",\"guide_tutorial_index.md\":\"DeQI3m9W\",\"guide_tutorial_render.md\":\"CmB0S1C1\",\"guide_tutorial_runtime.md\":\"DZf5WVK6\",\"index.md\":\"_vBFVjCB\",\"runtime-api_core_app.md\":\"DqL_SMIi\",\"runtime-api_core_devtoolapi.md\":\"CNtmpnLO\",\"runtime-api_core_env.md\":\"DqthtvNq\",\"runtime-api_core_eventhelper.md\":\"DSOQlxIA\",\"runtime-api_core_flowstate.md\":\"DKodDYkQ\",\"runtime-api_core_iteratorcontainer.md\":\"yxAfk3wp\",\"runtime-api_core_node.md\":\"DfHI9knW\",\"runtime-api_core_page.md\":\"DbP_ghoD\",\"runtime-api_core_utils.md\":\"D61lvGXB\",\"runtime-api_data-source_datasource.md\":\"D_vEMdmL\",\"runtime-api_data-source_datasourcemanager.md\":\"B7SYphFJ\",\"runtime-api_data-source_httpdatasource.md\":\"Db7JVpGX\",\"runtime-api_data-source_observeddata.md\":\"gzo1dIjG\",\"runtime-api_data-source_utils.md\":\"DeJn6r5b\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"tmagic-editor\",\"description\":\"页面可视化平台\",\"base\":\"/tmagic-editor/docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"./favicon.png\",\"search\":{\"provider\":\"local\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/Tencent/tmagic-editor\"}],\"footer\":{\"message\":\"Powered by 腾讯视频会员平台技术中心\",\"copyright\":\"Copyright (C) 2025 Tencent.\"},\"nav\":[{\"text\":\"文档\",\"link\":\"/guide/\",\"activeMatch\":\"/guide/\"},{\"text\":\"Editor API\",\"link\":\"/api/editor/props\",\"activeMatch\":\"/api/\"},{\"text\":\"Runtime API\",\"link\":\"/runtime-api/core/app\",\"activeMatch\":\"/runtime-api/\"},{\"text\":\"表单配置\",\"link\":\"/form-config/fields/text\",\"activeMatch\":\"/form-config/\"},{\"text\":\"更新日志\",\"link\":\"https://github.com/Tencent/tmagic-editor/releases\"},{\"text\":\"Playground\",\"link\":\"https://tencent.github.io/tmagic-editor/playground/index.html\"}],\"sidebar\":{\"/guide/\":[{\"text\":\"文档\",\"items\":[{\"text\":\"介绍\",\"link\":\"/guide/introduction.md\"},{\"text\":\"快速开始\",\"link\":\"/guide/\"},{\"text\":\"RUNTIME\",\"link\":\"/guide/runtime.md\"},{\"text\":\"组件开发\",\"link\":\"/guide/component.md\"},{\"text\":\"基础概念\",\"link\":\"/guide/conception.md\"},{\"text\":\"页面发布\",\"link\":\"/guide/publish.md\"},{\"text\":\"编辑器扩展\",\"link\":\"/guide/editor-expand.md\"},{\"text\":\"升级到1.5.x\",\"link\":\"/guide/migration.md\"}]},{\"text\":\"进阶指南\",\"items\":[{\"text\":\"JS Schema\",\"link\":\"/guide/advanced/js-schema.md\"},{\"text\":\"布局原理\",\"link\":\"/guide/advanced/layout.md\"},{\"text\":\"页面渲染\",\"link\":\"/guide/advanced/page.md\"},{\"text\":\"联动原理\",\"link\":\"/guide/advanced/coupling.md\"},{\"text\":\"代码块\",\"link\":\"/guide/advanced/code-block.md\"},{\"text\":\"数据源\",\"link\":\"/guide/advanced/data-source.md\"},{\"text\":\"@tmagic/ui\",\"link\":\"/guide/advanced/tmagic-ui.md\"},{\"text\":\"@tmagic/form\",\"link\":\"/guide/advanced/tmagic-form.md\"}]},{\"text\":\"教程\",\"items\":[{\"text\":\"写在前面\",\"link\":\"/guide/tutorial/\"},{\"text\":\"1.Hello World\",\"link\":\"/guide/tutorial/hello-world.md\"},{\"text\":\"2.Runtime\",\"link\":\"/guide/tutorial/runtime.md\"},{\"text\":\"3.DSL解析渲染\",\"link\":\"/guide/tutorial/render.md\"}]}],\"/api/\":[{\"text\":\"编辑器\",\"items\":[{\"text\":\"Editor组件\",\"items\":[{\"text\":\"props\",\"link\":\"/api/editor/props.md\"},{\"text\":\"slots\",\"link\":\"/api/editor/slots.md\"},{\"text\":\"events\",\"link\":\"/api/editor/events.md\"}]},{\"text\":\"editorService\",\"items\":[{\"text\":\"方法\",\"link\":\"/api/editor/editorServiceMethods.md\"},{\"text\":\"事件\",\"link\":\"/api/editor/editorServiceEvents.md\"}]},{\"text\":\"propsService\",\"items\":[{\"text\":\"方法\",\"link\":\"/api/editor/propsServiceMethods.md\"},{\"text\":\"事件\",\"link\":\"/api/editor/propsServiceEvents.md\"}]},{\"text\":\"historyService\",\"items\":[{\"text\":\"方法\",\"link\":\"/api/editor/historyServiceMethods.md\"},{\"text\":\"事件\",\"link\":\"/api/editor/historyServiceEvents.md\"}]},{\"text\":\"eventsService\",\"link\":\"/api/editor/eventsServiceMethods.md\"},{\"text\":\"uiService\",\"link\":\"/api/editor/uiServiceMethods.md\"},{\"text\":\"codeBlockService\",\"link\":\"/api/editor/codeBlockServiceMethods.md\"},{\"text\":\"componentListService\",\"link\":\"/api/editor/componentListServiceMethods.md\"},{\"text\":\"storageService\",\"link\":\"/api/editor/storageServiceMethods.md\"}]},{\"text\":\"表单\",\"items\":[{\"text\":\"Form组件\",\"items\":[{\"text\":\"props\",\"link\":\"/api/form/form-props\"},{\"text\":\"methods\",\"link\":\"/api/form/form-methods\"},{\"text\":\"events\",\"link\":\"/api/form/form-events\"}]},{\"text\":\"FormDialog组件\",\"items\":[{\"text\":\"props\",\"link\":\"/api/form/form-dialog-props\"},{\"text\":\"methods\",\"link\":\"/api/form/form-dialog-methods\"},{\"text\":\"events\",\"link\":\"/api/form/form-dialog-events\"}]}]},{\"text\":\"表格\",\"items\":[{\"text\":\"Table组件\",\"items\":[{\"text\":\"props\",\"link\":\"/api/table/props\"},{\"text\":\"methods\",\"link\":\"/api/table/methods\"},{\"text\":\"events\",\"link\":\"/api/table/events\"}]}]},{\"text\":\"stage\",\"items\":[{\"text\":\"StageCore\",\"items\":[{\"text\":\"方法\",\"link\":\"/api/stage/coreMethods\"},{\"text\":\"事件\",\"link\":\"/api/stage/coreEvents\"}]}]}],\"/form-config/\":[{\"text\":\"基础配置\",\"items\":[{\"text\":\"Input输入框\",\"link\":\"/form-config/fields/text.md\"},{\"text\":\"Textarea文本域\",\"link\":\"/form-config/fields/textarea.md\"},{\"text\":\"InputNumber计数器\",\"link\":\"/form-config/fields/number.md\"},{\"text\":\"NumberRange数字范围\",\"link\":\"/form-config/fields/number-range.md\"},{\"text\":\"Display只读文本\",\"link\":\"/form-config/fields/display.md\"},{\"text\":\"Hidden隐藏域\",\"link\":\"/form-config/fields/hidden.md\"},{\"text\":\"Link链接\",\"link\":\"/form-config/fields/link.md\"},{\"text\":\"Checkbox多选框\",\"link\":\"/form-config/fields/checkbox.md\"},{\"text\":\"Radio单选框\",\"link\":\"/form-config/fields/radio.md\"},{\"text\":\"Switch开关\",\"link\":\"/form-config/fields/switch.md\"},{\"text\":\"Select选择器\",\"link\":\"/form-config/fields/select.md\"},{\"text\":\"Cascader级联选择器\",\"link\":\"/form-config/fields/cascader.md\"},{\"text\":\"ColorPicker颜色选择器\",\"link\":\"/form-config/fields/color-picker.md\"},{\"text\":\"DatePick日期选择器\",\"link\":\"/form-config/fields/date-picker.md\"},{\"text\":\"DateRangePick日期范围选择器\",\"link\":\"/form-config/fields/daterange-picker.md\"},{\"text\":\"DatetimePick日期时间选择器\",\"link\":\"/form-config/fields/datetime-picker.md\"},{\"text\":\"TimePick时间选择器\",\"link\":\"/form-config/fields/time-picker.md\"},{\"text\":\"TimeRangePick时间范围选择器\",\"link\":\"/form-config/fields/timerange-picker.md\"},{\"text\":\"DynamicField动态表单\",\"link\":\"/form-config/fields/dynamic-field.md\"}]},{\"text\":\"编辑器中可用配置\",\"items\":[{\"text\":\"Code代码编辑器\",\"link\":\"/form-config/editor-fields/code.md\"},{\"text\":\"CodeLink代码链接\",\"link\":\"/form-config/editor-fields/code-link.md\"},{\"text\":\"CodeSelect代码块选择器\",\"link\":\"/form-config/editor-fields/code-select.md\"},{\"text\":\"CodeSelectCol代码块选择列\",\"link\":\"/form-config/editor-fields/code-select-col.md\"},{\"text\":\"DataSourceSelect数据源选择器\",\"link\":\"/form-config/editor-fields/data-source-select.md\"},{\"text\":\"DataSourceFieldSelect数据源字段选择器\",\"link\":\"/form-config/editor-fields/data-source-field-select.md\"},{\"text\":\"DataSourceMethodSelect数据源方法选择器\",\"link\":\"/form-config/editor-fields/data-source-method-select.md\"},{\"text\":\"DataSourceFields数据源字段配置\",\"link\":\"/form-config/editor-fields/data-source-fields.md\"},{\"text\":\"DataSourceInput数据源输入框\",\"link\":\"/form-config/editor-fields/data-source-input.md\"},{\"text\":\"DataSourceMethods数据源方法配置\",\"link\":\"/form-config/editor-fields/data-source-methods.md\"},{\"text\":\"DataSourceMocks数据源Mock配置\",\"link\":\"/form-config/editor-fields/data-source-mocks.md\"},{\"text\":\"UISelect组件选择器\",\"link\":\"/form-config/editor-fields/ui-select.md\"},{\"text\":\"KeyValue键值对\",\"link\":\"/form-config/editor-fields/key-value.md\"},{\"text\":\"PageFragmentSelect页面片选择器\",\"link\":\"/form-config/editor-fields/page-fragment-select.md\"},{\"text\":\"EventSelect事件选择器\",\"link\":\"/form-config/editor-fields/event-select.md\"},{\"text\":\"DisplayConds显示条件配置\",\"link\":\"/form-config/editor-fields/display-conds.md\"},{\"text\":\"CondOpSelect条件操作选择器\",\"link\":\"/form-config/editor-fields/cond-op-select.md\"}]},{\"text\":\"布局配置\",\"items\":[{\"text\":\"布局\",\"link\":\"/form-config/layout.md\"}]},{\"text\":\"联动配置\",\"items\":[{\"text\":\"联动\",\"link\":\"/form-config/relate.md\"}]},{\"text\":\"表单对比\",\"items\":[{\"text\":\"表单对比\",\"link\":\"/form-config/compare.md\"}]}],\"/runtime-api/\":[{\"text\":\"@tmagic/core\",\"items\":[{\"text\":\"App\",\"link\":\"/runtime-api/core/app\"},{\"text\":\"Node\",\"link\":\"/runtime-api/core/node\"},{\"text\":\"Page\",\"link\":\"/runtime-api/core/page\"},{\"text\":\"EventHelper\",\"link\":\"/runtime-api/core/eventHelper\"},{\"text\":\"Env\",\"link\":\"/runtime-api/core/env\"},{\"text\":\"IteratorContainer\",\"link\":\"/runtime-api/core/iteratorContainer\"},{\"text\":\"FlowState\",\"link\":\"/runtime-api/core/flowState\"},{\"text\":\"DevtoolApi\",\"link\":\"/runtime-api/core/devtoolApi\"},{\"text\":\"工具函数\",\"link\":\"/runtime-api/core/utils\"}]},{\"text\":\"@tmagic/data-source\",\"items\":[{\"text\":\"DataSourceManager\",\"link\":\"/runtime-api/data-source/dataSourceManager\"},{\"text\":\"DataSource\",\"link\":\"/runtime-api/data-source/dataSource\"},{\"text\":\"HttpDataSource\",\"link\":\"/runtime-api/data-source/httpDataSource\"},{\"text\":\"观察者数据类\",\"link\":\"/runtime-api/data-source/observedData\"},{\"text\":\"工具函数\",\"link\":\"/runtime-api/data-source/utils\"}]}]}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>