2026-06-02 11:11:57 +00:00

36 lines
48 KiB
HTML
Raw Permalink 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>DevtoolApi | tmagic-editor</title>
<meta name="description" content="页面可视化平台">
<meta name="generator" content="VitePress v2.0.0-alpha.17">
<link rel="preload stylesheet" href="/tmagic-editor/docs/assets/style.B2Y-cHQK.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.BzF5rDWV.js"></script>
<link rel="preload" href="/tmagic-editor/docs/assets/inter-roman-latin.Cy4MYw_J.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/chunks/theme.osynohDU.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/chunks/framework.V2ssSR2R.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/runtime-api_core_devtoolApi.md.Dt64oZTL.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-52085faa><!--[--><!--]--><!--[--><span tabindex="-1" data-v-002a3b7b></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-002a3b7b>Skip to content</a><!--]--><!----><header class="VPNav" data-v-52085faa data-v-66bfbe5f><div class="VPNavBar has-sidebar top" data-v-66bfbe5f data-v-e3720e23><div class="wrapper" data-v-e3720e23><div class="container" data-v-e3720e23><div class="title" data-v-e3720e23><div class="VPNavBarTitle has-sidebar" data-v-e3720e23 data-v-0cf55604><a class="title" href="/tmagic-editor/docs/" data-v-0cf55604><!--[--><!--]--><!--[--><img class="VPImage logo" src="./favicon.png" alt data-v-9c21079f><!--]--><span data-v-0cf55604>tmagic-editor</span><!--[--><!--]--></a></div></div><div class="content" data-v-e3720e23><div class="content-body" data-v-e3720e23><!--[--><!--]--><div class="VPNavBarSearch search" data-v-e3720e23 data-v-aeb47f76><!--[--><button type="button" class="VPNavBarSearchButton" aria-label="Search" aria-keyshortcuts="/ control+k meta+k" data-v-aeb47f76 data-v-9cf61dd5><span class="vpi-search" aria-hidden="true" data-v-9cf61dd5></span><span class="text" data-v-9cf61dd5>Search</span><span class="keys" aria-hidden="true" data-v-9cf61dd5><kbd class="key-cmd" data-v-9cf61dd5></kbd><kbd class="key-ctrl" data-v-9cf61dd5>Ctrl</kbd><kbd data-v-9cf61dd5>K</kbd></span></button><!----><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-e3720e23 data-v-ec5ae824><span id="main-nav-aria-label" class="visually-hidden" data-v-ec5ae824> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/guide/" tabindex="0" data-v-ec5ae824 data-v-43d45074><!--[--><span data-v-43d45074>文档</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/api/editor/props.html" tabindex="0" data-v-ec5ae824 data-v-43d45074><!--[--><span data-v-43d45074>Editor API</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/tmagic-editor/docs/runtime-api/core/app.html" tabindex="0" data-v-ec5ae824 data-v-43d45074><!--[--><span data-v-43d45074>Runtime API</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/form-config/fields/text.html" tabindex="0" data-v-ec5ae824 data-v-43d45074><!--[--><span data-v-43d45074>表单配置</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-ec5ae824 data-v-43d45074><!--[--><span data-v-43d45074>更新日志</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-ec5ae824 data-v-43d45074><!--[--><span data-v-43d45074>Playground</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-e3720e23 data-v-6416f7b5><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6416f7b5 data-v-7ddf7f6f data-v-8006726c><span class="check" data-v-8006726c><span class="icon" data-v-8006726c><!--[--><span class="vpi-sun sun" data-v-7ddf7f6f></span><span class="vpi-moon moon" data-v-7ddf7f6f></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-e3720e23 data-v-77e51d27 data-v-03e62622><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Tencent/tmagic-editor" aria-label="github" target="_blank" rel="me noopener" data-v-03e62622 data-v-e80c6f77><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-e3720e23 data-v-b1acd709 data-v-4b9197ed><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-4b9197ed><span class="vpi-more-horizontal icon" data-v-4b9197ed></span></button><div class="menu" data-v-4b9197ed><div class="VPMenu" data-v-4b9197ed data-v-a395f093><!----><!--[--><!--[--><!----><div class="group" data-v-b1acd709><div class="item appearance" data-v-b1acd709><p class="label" data-v-b1acd709>Appearance</p><div class="appearance-action" data-v-b1acd709><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-b1acd709 data-v-7ddf7f6f data-v-8006726c><span class="check" data-v-8006726c><span class="icon" data-v-8006726c><!--[--><span class="vpi-sun sun" data-v-7ddf7f6f></span><span class="vpi-moon moon" data-v-7ddf7f6f></span><!--]--></span></span></button></div></div></div><div class="group" data-v-b1acd709><div class="item social-links" data-v-b1acd709><div class="VPSocialLinks social-links-list" data-v-b1acd709 data-v-03e62622><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Tencent/tmagic-editor" aria-label="github" target="_blank" rel="me noopener" data-v-03e62622 data-v-e80c6f77><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-e3720e23 data-v-bd3703a2><span class="container" data-v-bd3703a2><span class="top" data-v-bd3703a2></span><span class="middle" data-v-bd3703a2></span><span class="bottom" data-v-bd3703a2></span></span></button></div></div></div></div><div class="divider" data-v-e3720e23><div class="divider-line" data-v-e3720e23></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-52085faa data-v-0d424459><div class="container" data-v-0d424459><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-0d424459><span class="vpi-align-left menu-icon" data-v-0d424459></span><span class="menu-text" data-v-0d424459>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-0d424459 data-v-9e866da0><button data-v-9e866da0>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-52085faa data-v-b300e040><div class="curtain" data-v-b300e040></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-b300e040><span class="visually-hidden" id="sidebar-aria-label" data-v-b300e040> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-cd5b1edc><section class="VPSidebarItem level-0 has-active" data-v-cd5b1edc data-v-edbe517d><div class="item" role="button" tabindex="0" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><h2 class="text" data-v-edbe517d>@tmagic/core</h2><!----></div><div class="items" data-v-edbe517d><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/app.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>App</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/node.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>Node</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/page.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>Page</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/eventHelper.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>EventHelper</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/env.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>Env</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/iteratorContainer.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>IteratorContainer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/flowState.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>FlowState</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/devtoolApi.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>DevtoolApi</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/core/utils.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>工具函数</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-cd5b1edc><section class="VPSidebarItem level-0" data-v-cd5b1edc data-v-edbe517d><div class="item" role="button" tabindex="0" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><h2 class="text" data-v-edbe517d>@tmagic/data-source</h2><!----></div><div class="items" data-v-edbe517d><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/dataSourceManager.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>DataSourceManager</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/dataSource.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>DataSource</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/httpDataSource.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>HttpDataSource</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/observedData.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>观察者数据类</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edbe517d data-v-edbe517d><div class="item" data-v-edbe517d><div class="indicator" data-v-edbe517d></div><a class="VPLink link link" href="/tmagic-editor/docs/runtime-api/data-source/utils.html" data-v-edbe517d><!--[--><p class="text" data-v-edbe517d>工具函数</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-52085faa data-v-e4a435e4><div class="VPDoc has-sidebar has-aside" data-v-e4a435e4 data-v-e240b221><!--[--><!--]--><div class="container" data-v-e240b221><div class="aside" data-v-e240b221><div class="aside-curtain" data-v-e240b221></div><div class="aside-container" data-v-e240b221><div class="aside-content" data-v-e240b221><div class="VPDocAside" data-v-e240b221 data-v-29ae77ab><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-29ae77ab data-v-9a0a5036><div class="content" data-v-9a0a5036><div class="outline-marker" data-v-9a0a5036></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-9a0a5036>On this page</div><ul class="VPDocOutlineItem root" data-v-9a0a5036 data-v-97ea2a1e><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-29ae77ab></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e240b221><div class="content-container" data-v-e240b221><!--[--><!--]--><main class="main" data-v-e240b221><div style="position:relative;" class="vp-doc _tmagic-editor_docs_runtime-api_core_devtoolApi" data-v-e240b221><div><h1 id="devtoolapi" tabindex="-1">DevtoolApi <a class="header-anchor" href="#devtoolapi" aria-label="Permalink to “DevtoolApi”"></a></h1><p><code>DevtoolApi</code><code>@tmagic/core</code> 提供给开发工具使用的 API 接口类。</p><h2 id="构造函数" tabindex="-1">构造函数 <a class="header-anchor" href="#构造函数" aria-label="Permalink to “构造函数”"></a></h2><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> DevtoolApi</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(options: DevtoolApiOptions)</span></span></code></pre></div><h3 id="devtoolapioptions" tabindex="-1">DevtoolApiOptions <a class="header-anchor" href="#devtoolapioptions" aria-label="Permalink to “DevtoolApiOptions”"></a></h3><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>app</code></td><td><code>App</code></td><td>应用实例</td></tr></tbody></table><h2 id="实例方法" tabindex="-1">实例方法 <a class="header-anchor" href="#实例方法" aria-label="Permalink to “实例方法”"></a></h2><h3 id="openpop" tabindex="-1">openPop <a class="header-anchor" href="#openpop" aria-label="Permalink to “openPop”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} popId</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><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">openPop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;dialog_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span></code></pre></div><h3 id="setdatasourcedata" tabindex="-1">setDataSourceData <a class="header-anchor" href="#setdatasourcedata" aria-label="Permalink to “setDataSourceData”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} dsId</code> 数据源 ID</li><li><code>{any} data</code> 数据</li><li><code>{string} path</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"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 设置整个数据源数据</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">setDataSourceData</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;">, { name: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;test&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> });</span></span>
<span class="line"></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;">devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">setDataSourceData</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;newValue&#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></code></pre></div><h3 id="deldatasourcedata" tabindex="-1">delDataSourceData <a class="header-anchor" href="#deldatasourcedata" aria-label="Permalink to “delDataSourceData”"></a></h3><ul><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>当前为空实现(预留接口),由具体的开发工具/平台覆盖以实现&quot;删除数据源数据&quot;的能力。</p></li></ul><h3 id="requestdatasource" tabindex="-1">requestDataSource <a class="header-anchor" href="#requestdatasource" aria-label="Permalink to “requestDataSource”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} dsId</code> 数据源 ID</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{Promise&lt;void&gt; | void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>触发 HTTP 数据源的请求。优先调用 <code>dataSource.refresh</code>,否则调用 <code>dataSource.request</code>,再否则将 <code>isInit</code> 置为 <code>false</code> 并通过 <code>dataSourceManager.init(ds)</code> 重新初始化。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">requestDataSource</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;http_ds_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span></code></pre></div><h3 id="getdisplaycondrealvalue" tabindex="-1">getDisplayCondRealValue <a class="header-anchor" href="#getdisplaycondrealvalue" aria-label="Permalink to “getDisplayCondRealValue”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} nodeId</code> 节点 ID</li><li><code>{DisplayCondItem} condItem</code> 单个条件项</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{any}</code></li></ul></li><li><p><strong>详情:</strong></p><p>获取显示条件的实际计算值。内部会以 <code>{ [NODE_CONDS_KEY]: [{ cond: [condItem] }] }</code> 的形式调用 <code>dataSourceManager.compliedConds</code></p></li></ul><h3 id="callhook" tabindex="-1">callHook <a class="header-anchor" href="#callhook" aria-label="Permalink to “callHook”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} nodeId</code> 节点 ID</li><li><code>{string} hookName</code> 钩子名称</li><li><code>{ { params: Record&lt;string, any&gt; }[] } hookData</code> 钩子数据列表,依次传给 <code>node.runHookCode</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>调用节点的钩子函数。会按 <code>hookData</code> 顺序执行,每项以 <code>item.params</code> 作为 <code>runHookCode</code> 的入参。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">callHook</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;button_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;mounted&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { params: { data: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;test&#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><h3 id="trigger" tabindex="-1">trigger <a class="header-anchor" href="#trigger" aria-label="Permalink to “trigger”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} nodeId</code> 节点 ID</li><li><code>{EventConfig} eventConfig</code> 事件配置(单个,非数组)</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>按节点触发事件。内部通过 <code>app.emit(eventConfig.name, node)</code> 触发对应事件。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">trigger</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;button_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;click&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> actions: [{ actionType: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;code&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, codeId: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;code_1&#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><h3 id="updatedsl" tabindex="-1">updateDsl <a class="header-anchor" href="#updatedsl" aria-label="Permalink to “updateDsl”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} nodeId</code> 节点 ID</li><li><code>{any} data</code> 数据</li><li><code>{string} path</code> 路径</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p>当前为空实现(预留接口),由具体的开发工具/平台覆盖以实现&quot;按节点更新 DSL&quot;的能力。</p></li></ul><h3 id="isvalueincludedatasource" tabindex="-1">isValueIncludeDataSource <a class="header-anchor" href="#isvalueincludedatasource" aria-label="Permalink to “isValueIncludeDataSource”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{any} value</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"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> hasDs</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">isValueIncludeDataSource</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;${ds_1.field}&#39;</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;">(hasDs); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// true</span></span></code></pre></div><h3 id="compiledatasourcevalue" tabindex="-1">compileDataSourceValue <a class="header-anchor" href="#compiledatasourcevalue" aria-label="Permalink to “compileDataSourceValue”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{any} value</code> 包含数据源引用的值</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{any}</code></li></ul></li><li><p><strong>详情:</strong></p><p>编译数据源值,将数据源引用替换为实际值。</p></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> compiled</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">compileDataSourceValue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;用户名:${ds_1.user.name}&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span></code></pre></div><h3 id="updatecode" tabindex="-1">updateCode <a class="header-anchor" href="#updatecode" aria-label="Permalink to “updateCode”"></a></h3><ul><li><p><strong>参数:</strong></p><ul><li><code>{Id} codeId</code> 代码块 ID</li><li><code>{any} value</code> 新值</li><li><code>{string} path</code> 路径(必填)</li></ul></li><li><p><strong>返回:</strong></p><ul><li><code>{void}</code></li></ul></li><li><p><strong>详情:</strong></p><p><code>path</code> 更新指定代码块的内容。当 <code>path === &#39;content&#39;</code><code>value</code> 为字符串时,<strong>当前实现</strong>会通过 <code>eval</code> 拼接执行后将函数写回。</p><div class="warning custom-block"><p class="custom-block-title">已知限制</p><p>当前 <code>eval</code> 模板存在多余的右括号(详见 <code>packages/core/src/DevtoolApi.ts</code><code>updateCode</code><strong>对大部分常规函数字面量会因语法错误抛出</strong>。直接传入纯函数体或可被裸赋值的合法表达式时也需自行验证;如需稳定使用建议在调用方先编译为函数再写回 <code>app.codeDsl[codeId].content</code>,或等待该实现修复。</p></div></li><li><p><strong>示例:</strong></p></li></ul><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">devtoolApi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">updateCode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;code_1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;return data.value * 2;&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;content&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-e240b221 data-v-5ee03efa><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5ee03efa><span class="visually-hidden" id="doc-footer-aria-label" data-v-5ee03efa>Pager</span><div class="pager" data-v-5ee03efa><a class="VPLink link pager-link prev" href="/tmagic-editor/docs/runtime-api/core/flowState.html" data-v-5ee03efa><!--[--><span class="desc" data-v-5ee03efa>Previous page</span><span class="title" data-v-5ee03efa>FlowState</span><!--]--></a></div><div class="pager" data-v-5ee03efa><a class="VPLink link pager-link next" href="/tmagic-editor/docs/runtime-api/core/utils.html" data-v-5ee03efa><!--[--><span class="desc" data-v-5ee03efa>Next page</span><span class="title" data-v-5ee03efa>工具函数</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-52085faa data-v-b8960fa3><div class="container" data-v-b8960fa3><p class="message" data-v-b8960fa3>Powered by 腾讯视频会员平台技术中心</p><p class="copyright" data-v-b8960fa3>Copyright (C) 2025 Tencent.</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_editor_codeblockservicemethods.md\":\"DTx312ti\",\"api_editor_componentlistservicemethods.md\":\"NIwatNAh\",\"api_editor_datasourceservicemethods.md\":\"CH5NYqED\",\"api_editor_editorserviceevents.md\":\"DkdzACfI\",\"api_editor_editorservicemethods.md\":\"DU_tD9c_\",\"api_editor_events.md\":\"Dsc4NqMg\",\"api_editor_eventsservicemethods.md\":\"Bw1rmuNy\",\"api_editor_historyserviceevents.md\":\"CrBB2Z2T\",\"api_editor_historyservicemethods.md\":\"B9GCvSyl\",\"api_editor_props.md\":\"BEsbIyE6\",\"api_editor_propsserviceevents.md\":\"CznK704B\",\"api_editor_propsservicemethods.md\":\"CHnpUlWe\",\"api_editor_slots.md\":\"B1B73apK\",\"api_editor_storageservicemethods.md\":\"XM0kc8xb\",\"api_editor_uiservicemethods.md\":\"CaCmG806\",\"api_form_form-dialog-events.md\":\"Bsi7I9tr\",\"api_form_form-dialog-methods.md\":\"B_sgIgX8\",\"api_form_form-dialog-props.md\":\"BfYnG4uw\",\"api_form_form-events.md\":\"C8SsDKZ6\",\"api_form_form-methods.md\":\"aycnh5FX\",\"api_form_form-props.md\":\"CnIXk9AC\",\"api_form_submit-form.md\":\"BkueFK3n\",\"api_stage_coreevents.md\":\"Cgw_NWIw\",\"api_stage_coremethods.md\":\"BfJZoQ1-\",\"api_table_events.md\":\"ANzBnLY7\",\"api_table_methods.md\":\"DKsUhNyQ\",\"api_table_props.md\":\"8p93oj03\",\"form-config_compare.md\":\"BmhAWdnU\",\"form-config_editor-fields_code-link.md\":\"_WpUScRP\",\"form-config_editor-fields_code-select-col.md\":\"5v2NiQs-\",\"form-config_editor-fields_code-select.md\":\"tFuJKxmz\",\"form-config_editor-fields_code.md\":\"QLtMzjkL\",\"form-config_editor-fields_cond-op-select.md\":\"DuVk7Plf\",\"form-config_editor-fields_data-source-field-select.md\":\"l-mtFHlA\",\"form-config_editor-fields_data-source-fields.md\":\"DuPucaNA\",\"form-config_editor-fields_data-source-input.md\":\"Cls0ZVmf\",\"form-config_editor-fields_data-source-method-select.md\":\"BQ9ihZav\",\"form-config_editor-fields_data-source-methods.md\":\"D4eLoaZh\",\"form-config_editor-fields_data-source-mocks.md\":\"BxEpd6-f\",\"form-config_editor-fields_data-source-select.md\":\"BeMf8tjW\",\"form-config_editor-fields_display-conds.md\":\"DthLWdef\",\"form-config_editor-fields_event-select.md\":\"Ct78kypt\",\"form-config_editor-fields_key-value.md\":\"BBSWwoHC\",\"form-config_editor-fields_page-fragment-select.md\":\"C4a_ieVQ\",\"form-config_editor-fields_ui-select.md\":\"DeBRlgMj\",\"form-config_fields_cascader.md\":\"Ad-9vSWz\",\"form-config_fields_checkbox.md\":\"DA3EU5r9\",\"form-config_fields_color-picker.md\":\"ChtAlvyA\",\"form-config_fields_date-picker.md\":\"BLpndPyR\",\"form-config_fields_daterange-picker.md\":\"BeDfHdP5\",\"form-config_fields_datetime-picker.md\":\"DKx6HjF1\",\"form-config_fields_display.md\":\"FpktLnh9\",\"form-config_fields_dynamic-field.md\":\"D-qL57IR\",\"form-config_fields_hidden.md\":\"CwIk9R6T\",\"form-config_fields_link.md\":\"CZP0Pwde\",\"form-config_fields_number-range.md\":\"D9w-K4YH\",\"form-config_fields_number.md\":\"BP6zDFhk\",\"form-config_fields_radio.md\":\"fpqLi6D8\",\"form-config_fields_select.md\":\"Busav8N-\",\"form-config_fields_switch.md\":\"CDph7J3q\",\"form-config_fields_text.md\":\"DSP7CO2W\",\"form-config_fields_textarea.md\":\"Cil4hAqw\",\"form-config_fields_time-picker.md\":\"BIgdvB4T\",\"form-config_fields_timerange-picker.md\":\"kRMAFTrr\",\"form-config_layout.md\":\"BQhGI4Qq\",\"form-config_relate.md\":\"DvsbvOrz\",\"guide_advanced_code-block.md\":\"CRnQiSUe\",\"guide_advanced_coupling.md\":\"QzzEWi8z\",\"guide_advanced_data-source.md\":\"aV48AJ93\",\"guide_advanced_history-list.md\":\"DiAyWX3H\",\"guide_advanced_js-schema.md\":\"DXahSd8l\",\"guide_advanced_layout.md\":\"m3-E5MCg\",\"guide_advanced_page.md\":\"DtD6IjTT\",\"guide_advanced_tmagic-form.md\":\"BGo1HV71\",\"guide_component.md\":\"ClwHnKxy\",\"guide_conception.md\":\"BvWRTJve\",\"guide_editor-expand.md\":\"DPpw0fx9\",\"guide_index.md\":\"C9UYRlPd\",\"guide_introduction.md\":\"D4FioLjl\",\"guide_migration.md\":\"Ce1OLlPP\",\"guide_publish.md\":\"BkTaAJA2\",\"guide_runtime.md\":\"JZ9evVO4\",\"guide_tutorial_hello-world.md\":\"D89qcYij\",\"guide_tutorial_index.md\":\"CHgYShbW\",\"guide_tutorial_render.md\":\"Ck2bd1u7\",\"guide_tutorial_runtime.md\":\"CSNPMbNQ\",\"index.md\":\"yV4-lxaL\",\"runtime-api_core_app.md\":\"DvMcbTo5\",\"runtime-api_core_devtoolapi.md\":\"Dt64oZTL\",\"runtime-api_core_env.md\":\"BWNcvewl\",\"runtime-api_core_eventhelper.md\":\"CTcULNOH\",\"runtime-api_core_flowstate.md\":\"B4jkAJTv\",\"runtime-api_core_iteratorcontainer.md\":\"BOxfQgFl\",\"runtime-api_core_node.md\":\"DLCapBPL\",\"runtime-api_core_page.md\":\"Bzc2uHYw\",\"runtime-api_core_utils.md\":\"WYx95Kix\",\"runtime-api_data-source_datasource.md\":\"DiemAPn7\",\"runtime-api_data-source_datasourcemanager.md\":\"eR5GBSIC\",\"runtime-api_data-source_httpdatasource.md\":\"D3tOijZy\",\"runtime-api_data-source_observeddata.md\":\"Dvqp1Z-P\",\"runtime-api_data-source_utils.md\":\"Be3cnv3y\"}");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\":\"历史记录面板\",\"link\":\"/guide/advanced/history-list.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\":\"submitForm\",\"link\":\"/api/form/submit-form\"}]}]},{\"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,\"additionalConfig\":{}}");</script>
</body>
</html>