tmagic-editor/docs/guide/advanced/data-source.html
2025-06-20 12:18:00 +00:00

48 lines
36 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>数据源 | tmagic-editor</title>
<meta name="description" content="页面可视化平台">
<meta name="generator" content="VitePress v1.6.3">
<link rel="preload stylesheet" href="/tmagic-editor/docs/assets/style.lMKN2Kes.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.CWa64OAG.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.Dzly5dNA.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/chunks/framework.D8kQE4ce.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/guide_advanced_data-source.md.D1eOXpTy.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-2e27fc2e><!--[--><!--]--><!--[--><span tabindex="-1" data-v-7a8a9394></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-7a8a9394>Skip to content</a><!--]--><!----><header class="VPNav" data-v-2e27fc2e data-v-e8d2bdf3><div class="VPNavBar" data-v-e8d2bdf3 data-v-1eee9a4f><div class="wrapper" data-v-1eee9a4f><div class="container" data-v-1eee9a4f><div class="title" data-v-1eee9a4f><div class="VPNavBarTitle has-sidebar" data-v-1eee9a4f data-v-9e69c7a2><a class="title" href="/tmagic-editor/docs/" data-v-9e69c7a2><!--[--><!--]--><!--[--><img class="VPImage logo" src="./favicon.png" alt data-v-1f61fa10><!--]--><span data-v-9e69c7a2>tmagic-editor</span><!--[--><!--]--></a></div></div><div class="content" data-v-1eee9a4f><div class="content-body" data-v-1eee9a4f><!--[--><!--]--><div class="VPNavBarSearch search" data-v-1eee9a4f><!--[--><!----><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-1eee9a4f data-v-61c67699><span id="main-nav-aria-label" class="visually-hidden" data-v-61c67699> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/tmagic-editor/docs/guide/" tabindex="0" data-v-61c67699 data-v-a00ae531><!--[--><span data-v-a00ae531>文档</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/api/editor/props.html" tabindex="0" data-v-61c67699 data-v-a00ae531><!--[--><span data-v-a00ae531>API</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/tmagic-editor/docs/form-config/fields/text.html" tabindex="0" data-v-61c67699 data-v-a00ae531><!--[--><span data-v-a00ae531>表单配置</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-61c67699 data-v-a00ae531><!--[--><span data-v-a00ae531>更新日志</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-61c67699 data-v-a00ae531><!--[--><span data-v-a00ae531>Playground</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-1eee9a4f data-v-a607c9b4><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-a607c9b4 data-v-cb9e6457 data-v-d300b1bd><span class="check" data-v-d300b1bd><span class="icon" data-v-d300b1bd><!--[--><span class="vpi-sun sun" data-v-cb9e6457></span><span class="vpi-moon moon" data-v-cb9e6457></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-1eee9a4f data-v-30c88d22 data-v-a6c87319><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Tencent/tmagic-editor" aria-label="github" target="_blank" rel="noopener" data-v-a6c87319 data-v-1be90a4b><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-1eee9a4f data-v-97fba102 data-v-f08cfc08><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-f08cfc08><span class="vpi-more-horizontal icon" data-v-f08cfc08></span></button><div class="menu" data-v-f08cfc08><div class="VPMenu" data-v-f08cfc08 data-v-b1adf76f><!----><!--[--><!--[--><!----><div class="group" data-v-97fba102><div class="item appearance" data-v-97fba102><p class="label" data-v-97fba102>Appearance</p><div class="appearance-action" data-v-97fba102><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-97fba102 data-v-cb9e6457 data-v-d300b1bd><span class="check" data-v-d300b1bd><span class="icon" data-v-d300b1bd><!--[--><span class="vpi-sun sun" data-v-cb9e6457></span><span class="vpi-moon moon" data-v-cb9e6457></span><!--]--></span></span></button></div></div></div><div class="group" data-v-97fba102><div class="item social-links" data-v-97fba102><div class="VPSocialLinks social-links-list" data-v-97fba102 data-v-a6c87319><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Tencent/tmagic-editor" aria-label="github" target="_blank" rel="noopener" data-v-a6c87319 data-v-1be90a4b><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-1eee9a4f data-v-eb5ae84d><span class="container" data-v-eb5ae84d><span class="top" data-v-eb5ae84d></span><span class="middle" data-v-eb5ae84d></span><span class="bottom" data-v-eb5ae84d></span></span></button></div></div></div></div><div class="divider" data-v-1eee9a4f><div class="divider-line" data-v-1eee9a4f></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-2e27fc2e data-v-75d802d0><div class="container" data-v-75d802d0><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-75d802d0><span class="vpi-align-left menu-icon" data-v-75d802d0></span><span class="menu-text" data-v-75d802d0>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-75d802d0 data-v-bf8154bc><button data-v-bf8154bc>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-2e27fc2e data-v-dafe8ef2><div class="curtain" data-v-dafe8ef2></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-dafe8ef2><span class="visually-hidden" id="sidebar-aria-label" data-v-dafe8ef2> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-53037f60><section class="VPSidebarItem level-0" data-v-53037f60 data-v-cc7055ca><div class="item" role="button" tabindex="0" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><h2 class="text" data-v-cc7055ca>文档</h2><!----></div><div class="items" data-v-cc7055ca><!--[--><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/introduction.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>介绍</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>快速开始</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/conception.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>基础概念</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/publish.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>页面发布</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/runtime.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>RUNTIME</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/component.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>组件开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/editor-expand.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>编辑器扩展</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/migration.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>升级到1.5.x</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53037f60><section class="VPSidebarItem level-0 has-active" data-v-53037f60 data-v-cc7055ca><div class="item" role="button" tabindex="0" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><h2 class="text" data-v-cc7055ca>进阶指南</h2><!----></div><div class="items" data-v-cc7055ca><!--[--><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/js-schema.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>JS Schema</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/layout.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>布局原理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/page.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>页面渲染</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/coupling.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>联动原理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/code-block.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>代码块</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/data-source.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>数据源</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/tmagic-ui.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>@tmagic/ui</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/tmagic-form.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>@tmagic/form</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53037f60><section class="VPSidebarItem level-0" data-v-53037f60 data-v-cc7055ca><div class="item" role="button" tabindex="0" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><h2 class="text" data-v-cc7055ca>教程</h2><!----></div><div class="items" data-v-cc7055ca><!--[--><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>写在前面</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/hello-world.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>1.Hello World</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/runtime.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>2.Runtime</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cc7055ca data-v-cc7055ca><div class="item" data-v-cc7055ca><div class="indicator" data-v-cc7055ca></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/render.html" data-v-cc7055ca><!--[--><p class="text" data-v-cc7055ca>3.DSL解析渲染</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-2e27fc2e data-v-224ea2e0><div class="VPDoc has-sidebar has-aside" data-v-224ea2e0 data-v-3724a15d><!--[--><!--]--><div class="container" data-v-3724a15d><div class="aside" data-v-3724a15d><div class="aside-curtain" data-v-3724a15d></div><div class="aside-container" data-v-3724a15d><div class="aside-content" data-v-3724a15d><div class="VPDocAside" data-v-3724a15d data-v-096673de><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-096673de data-v-5e8f60aa><div class="content" data-v-5e8f60aa><div class="outline-marker" data-v-5e8f60aa></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-5e8f60aa>On this page</div><ul class="VPDocOutlineItem root" data-v-5e8f60aa data-v-b4ac6eb4><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-096673de></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-3724a15d><div class="content-container" data-v-3724a15d><!--[--><!--]--><main class="main" data-v-3724a15d><div style="position:relative;" class="vp-doc _tmagic-editor_docs_guide_advanced_data-source" data-v-3724a15d><div><h1 id="数据源" tabindex="-1">数据源 <a class="header-anchor" href="#数据源" aria-label="Permalink to &quot;数据源&quot;"></a></h1><h2 id="使用数据源" tabindex="-1">使用数据源 <a class="header-anchor" href="#使用数据源" aria-label="Permalink to &quot;使用数据源&quot;"></a></h2><h3 id="添加数据源" tabindex="-1">添加数据源 <a class="header-anchor" href="#添加数据源" aria-label="Permalink to &quot;添加数据源&quot;"></a></h3><p>在编辑器左侧边栏中选中数据源,在数据源面板右上角添加中选择对应的数据源类型(默认提供了两种基础的数据源)</p><p><a href="/data-source.png" target="_blank"><img src="/tmagic-editor/docs/data-source.png" alt="alt 数据源列表" title="数据源列表"></a></p><h3 id="配置属性字段" tabindex="-1">配置属性字段 <a class="header-anchor" href="#配置属性字段" aria-label="Permalink to &quot;配置属性字段&quot;"></a></h3><p><a href="/create-data-source.png" target="_blank"><img src="/tmagic-editor/docs/create-data-source.png" alt="alt 新增数据源" title="新增数据源"></a></p><h4 id="基础数据源" tabindex="-1">基础数据源 <a class="header-anchor" href="#基础数据源" aria-label="Permalink to &quot;基础数据源&quot;"></a></h4><p>静态数据,不会自动更新,可以通过配置方法,在方法中更新数据源</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</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;">({ </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">dataSource</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">app</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;"> dataSource.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">setData</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 style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>然后再组件的事件联动中关联此方法,来触发数据源更新</p><h4 id="http数据源" tabindex="-1">HTTP数据源 <a class="header-anchor" href="#http数据源" aria-label="Permalink to &quot;HTTP数据源&quot;"></a></h4><p>通过配置HTTP相关参数(url, query, body, header等)通过网络api获取数据该数据源拥有request方法可通过此方法来刷新数据源</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</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;">({ </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">dataSource</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">app</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;"> dataSource.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">request</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="在组件中使用" tabindex="-1">在组件中使用 <a class="header-anchor" href="#在组件中使用" aria-label="Permalink to &quot;在组件中使用&quot;"></a></h3><h4 id="数据源模板输入框-data-source-input" tabindex="-1">数据源模板输入框data-source-input <a class="header-anchor" href="#数据源模板输入框-data-source-input" aria-label="Permalink to &quot;数据源模板输入框data-source-input&quot;"></a></h4><p>formConfig.js</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</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;">[</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;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;data-source-input&#39;</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><p><a href="/data-source-input.png" target="_blank"><img src="/tmagic-editor/docs/data-source-input.png" alt="alt 数据源模版" title="数据源模版"></a></p><h4 id="数据源字段选择器输入框-data-source-field-select" tabindex="-1">数据源字段选择器输入框data-source-field-select) <a class="header-anchor" href="#数据源字段选择器输入框-data-source-field-select" aria-label="Permalink to &quot;数据源字段选择器输入框data-source-field-select)&quot;"></a></h4><p>formConfig.js</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</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;">[</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;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;data-source-filed-select&#39;</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><h4 id="数据源选择器-data-source-select" tabindex="-1">数据源选择器data-source-select) <a class="header-anchor" href="#数据源选择器-data-source-select" aria-label="Permalink to &quot;数据源选择器data-source-select)&quot;"></a></h4><p>formConfig.js</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</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;">[</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;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;data-source-select&#39;</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><h4 id="数据源方法选择器-data-source-method-select" tabindex="-1">数据源方法选择器data-source-method-select) <a class="header-anchor" href="#数据源方法选择器-data-source-method-select" aria-label="Permalink to &quot;数据源方法选择器data-source-method-select)&quot;"></a></h4><p>formConfig.js</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</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;">[</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;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;data-source-method-select&#39;</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><h4 id="显示条件" tabindex="-1">显示条件 <a class="header-anchor" href="#显示条件" aria-label="Permalink to &quot;显示条件&quot;"></a></h4><p>当配置的条件成立时显示,反之隐藏</p><p><a href="/display-cond.png" target="_blank"><img src="/tmagic-editor/docs/display-cond.png" alt="alt 显示条件" title="显示条件"></a></p><h2 id="数据源开发" tabindex="-1">数据源开发 <a class="header-anchor" href="#数据源开发" aria-label="Permalink to &quot;数据源开发&quot;"></a></h2><h3 id="数据源规范" tabindex="-1">数据源规范 <a class="header-anchor" href="#数据源规范" aria-label="Permalink to &quot;数据源规范&quot;"></a></h3><p>数据源的基础形式,需要有四个文件</p><ul><li>index 入口文件,引入下面几个文件</li><li>formConfig 表单配置描述</li><li>initValue 表单初始值</li><li>event 定义联动事件,具体可以参考<a href="./coupling.html#组件联动">组件联动</a></li><li>dataSource 数据源逻辑代码</li></ul></div></div></main><footer class="VPDocFooter" data-v-3724a15d data-v-21b1887e><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-21b1887e><span class="visually-hidden" id="doc-footer-aria-label" data-v-21b1887e>Pager</span><div class="pager" data-v-21b1887e><a class="VPLink link pager-link prev" href="/tmagic-editor/docs/guide/advanced/code-block.html" data-v-21b1887e><!--[--><span class="desc" data-v-21b1887e>Previous page</span><span class="title" data-v-21b1887e>代码块</span><!--]--></a></div><div class="pager" data-v-21b1887e><a class="VPLink link pager-link next" href="/tmagic-editor/docs/guide/advanced/tmagic-ui.html" data-v-21b1887e><!--[--><span class="desc" data-v-21b1887e>Next page</span><span class="title" data-v-21b1887e>@tmagic/ui</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-2e27fc2e data-v-91e4effb><div class="container" data-v-91e4effb><p class="message" data-v-91e4effb>Powered by 腾讯视频会员平台技术中心</p><p class="copyright" data-v-91e4effb>Copyright (C) 2023 THL A29 Limited, a Tencent company.</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_editor_codeblockservicemethods.md\":\"ClqY7VZE\",\"api_editor_componentlistservicemethods.md\":\"BjjnnfcN\",\"api_editor_datasourceservicemethods.md\":\"DrhUu8L1\",\"api_editor_editorserviceevents.md\":\"spquRn08\",\"api_editor_editorservicemethods.md\":\"BVr1ez68\",\"api_editor_events.md\":\"GJ-6v-fw\",\"api_editor_eventsservicemethods.md\":\"9c-idhKF\",\"api_editor_historyserviceevents.md\":\"C1j3FNrL\",\"api_editor_historyservicemethods.md\":\"BP_I7MRX\",\"api_editor_props.md\":\"CXj8VW7P\",\"api_editor_propsserviceevents.md\":\"Dz0B4JXZ\",\"api_editor_propsservicemethods.md\":\"CJ_NvRBi\",\"api_editor_slots.md\":\"D-3bLOUN\",\"api_editor_storageservicemethods.md\":\"D8qukPYe\",\"api_editor_uiservicemethods.md\":\"Bv6jNS1s\",\"api_form_form-dialog-events.md\":\"BXIz9eUm\",\"api_form_form-dialog-methods.md\":\"CYqGAOmg\",\"api_form_form-dialog-props.md\":\"ChzB8mz7\",\"api_form_form-events.md\":\"DkcuTMhm\",\"api_form_form-methods.md\":\"CMUa01DK\",\"api_form_form-props.md\":\"CkdWUJ8V\",\"api_stage_coreevents.md\":\"CraIFiKZ\",\"api_stage_coremethods.md\":\"LNSV1Rpj\",\"api_table_events.md\":\"Cwr1d31N\",\"api_table_methods.md\":\"_73pycDT\",\"api_table_props.md\":\"fVyiJNMo\",\"form-config_compare.md\":\"-RsWmaIJ\",\"form-config_fields_cascader.md\":\"UibWQyqW\",\"form-config_fields_checkbox.md\":\"Ct3eqs5u\",\"form-config_fields_color-picker.md\":\"BwX-p0Lj\",\"form-config_fields_date-picker.md\":\"CkzdTR7n\",\"form-config_fields_datetime-picker.md\":\"BelCIMiI\",\"form-config_fields_display.md\":\"YhTUrY5N\",\"form-config_fields_hidden.md\":\"D4e3V4lt\",\"form-config_fields_link.md\":\"wtj8BElO\",\"form-config_fields_number.md\":\"DyE8ZMVv\",\"form-config_fields_radio.md\":\"DiPCqCy8\",\"form-config_fields_select.md\":\"bmjRx7ef\",\"form-config_fields_switch.md\":\"CUe2JBDQ\",\"form-config_fields_text.md\":\"BvhlkRTF\",\"form-config_fields_textarea.md\":\"D6auPE2J\",\"form-config_fields_time-picker.md\":\"BIDp5tPz\",\"form-config_layout.md\":\"BI3kMtj2\",\"form-config_relate.md\":\"DPAT11ms\",\"guide_advanced_code-block.md\":\"CEghZb4w\",\"guide_advanced_coupling.md\":\"CbwjpmSS\",\"guide_advanced_data-source.md\":\"D1eOXpTy\",\"guide_advanced_js-schema.md\":\"Czn7QzS4\",\"guide_advanced_layout.md\":\"CY2LiPJM\",\"guide_advanced_page.md\":\"B7qVzBDZ\",\"guide_advanced_tmagic-form.md\":\"DuCsNujZ\",\"guide_advanced_tmagic-ui.md\":\"DAvfkziV\",\"guide_component.md\":\"f24GDBqd\",\"guide_conception.md\":\"B6WwYhK4\",\"guide_editor-expand.md\":\"C2eq5fij\",\"guide_index.md\":\"D7FTyvtM\",\"guide_introduction.md\":\"0zivEtmP\",\"guide_migration.md\":\"Hu6v1yB1\",\"guide_publish.md\":\"B0J9y2WB\",\"guide_runtime.md\":\"oIKYDNRS\",\"guide_tutorial_hello-world.md\":\"B2NbBdBN\",\"guide_tutorial_index.md\":\"DKdj5fTF\",\"guide_tutorial_render.md\":\"B9LC5Lsc\",\"guide_tutorial_runtime.md\":\"yakt7gYu\",\"index.md\":\"D_nOcYGz\"}");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) 2023 THL A29 Limited, a Tencent company.\"},\"nav\":[{\"text\":\"文档\",\"link\":\"/guide/\",\"activeMatch\":\"/guide/\"},{\"text\":\"API\",\"link\":\"/api/editor/props\",\"activeMatch\":\"/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\":\"基础概念\",\"link\":\"/guide/conception.md\"},{\"text\":\"页面发布\",\"link\":\"/guide/publish.md\"},{\"text\":\"RUNTIME\",\"link\":\"/guide/runtime.md\"},{\"text\":\"组件开发\",\"link\":\"/guide/component.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\":\"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\":\"DatetimePick日期时间选择器\",\"link\":\"/form-config/fields/datetime-picker.md\"},{\"text\":\"TimePick时间选择器\",\"link\":\"/form-config/fields/time-picker.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\"}]}]}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>