h5-Dooring/doc-dist/zh/guide/componentDev/componentStructure.html
2021-05-13 21:56:54 +08:00

154 lines
28 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>h5-dooring</title>
<meta name="generator" content="VuePress 1.8.0">
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.4588b99c.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/22.49b6f904.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.df257dc3.js"><link rel="prefetch" href="/doc/assets/js/12.584674f6.js"><link rel="prefetch" href="/doc/assets/js/13.1b1b5748.js"><link rel="prefetch" href="/doc/assets/js/14.ea0f3745.js"><link rel="prefetch" href="/doc/assets/js/15.4eb9c19c.js"><link rel="prefetch" href="/doc/assets/js/16.1b7e6603.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.862b0c76.js"><link rel="prefetch" href="/doc/assets/js/20.4781e342.js"><link rel="prefetch" href="/doc/assets/js/21.f426ff47.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.919a8675.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.1d9c2285.js"><link rel="prefetch" href="/doc/assets/js/27.7c57ff72.js"><link rel="prefetch" href="/doc/assets/js/28.ead47ae7.js"><link rel="prefetch" href="/doc/assets/js/29.3a117db5.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/4.eddebdfd.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.189d38be.js"><link rel="prefetch" href="/doc/assets/js/8.e0652172.js"><link rel="prefetch" href="/doc/assets/js/9.7e1cf4d5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="/doc/zh/guide/" class="nav-link router-link-active">
文档
</a></div><div class="nav-item"><a href="http://h5.dooring.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/doc/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="/doc/zh/guide/" class="nav-link router-link-active">
文档
</a></div><div class="nav-item"><a href="http://h5.dooring.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" aria-current="page" class="active sidebar-link">组件结构</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#组件设计" class="sidebar-link">组件设计</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#template设计" class="sidebar-link">template设计</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#schema设计" class="sidebar-link">schema设计</a></li></ul></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="组件结构"><a href="#组件结构" class="header-anchor">#</a> 组件结构</h1> <p>dooring的组件设计包含以下3个部分组件</p> <p>1、component 组件主体</p> <p>2、schema 组件的DSL结构协议层</p> <p>3、template 定义了组件的类型、外观、从属关系后期考虑纳入schema</p> <p>接下来我会介绍一个基本的组件主体设计以为template设计在下一章会具体介绍schema部分。</p> <h2 id="组件设计"><a href="#组件设计" class="header-anchor">#</a> 组件设计</h2> <p>我们这里拿基本的header组件来举例如下是header组件的代码</p> <div class="language-jsx extra-class"><pre class="language-jsx"><code><span class="token keyword">interface</span> <span class="token class-name">HeaderPropTypes</span> <span class="token keyword">extends</span> <span class="token class-name">IHeaderConfig</span> <span class="token punctuation">{</span>
isTpl<span class="token operator">:</span> boolean<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> Header <span class="token operator">=</span> <span class="token function">memo</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">props<span class="token operator">:</span> HeaderPropTypes</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> bgColor<span class="token punctuation">,</span> logo<span class="token punctuation">,</span> logoText<span class="token punctuation">,</span> fontSize<span class="token punctuation">,</span> color <span class="token punctuation">}</span> <span class="token operator">=</span> props<span class="token punctuation">;</span>
<span class="token keyword">return</span> props<span class="token punctuation">.</span>isTpl <span class="token operator">?</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
&lt; img style=</span><span class="token punctuation">{</span><span class="token punctuation">{</span>width<span class="token operator">:</span> <span class="token string">'100%'</span><span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token plain-text"> src=</span><span class="token punctuation">{</span>logos<span class="token punctuation">}</span><span class="token plain-text"> alt=&quot;&quot; /&gt;
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
<span class="token punctuation">)</span> <span class="token operator">:</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>header</span> <span class="token attr-name">className</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>header<span class="token punctuation">}</span></span> <span class="token attr-name">style</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> backgroundColor<span class="token operator">:</span> bgColor <span class="token punctuation">}</span><span class="token punctuation">}</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">className</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>logo<span class="token punctuation">}</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
&lt; img src=</span><span class="token punctuation">{</span>logo <span class="token operator">&amp;&amp;</span> logo<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>url<span class="token punctuation">}</span><span class="token plain-text"> alt=</span><span class="token punctuation">{</span>logoText<span class="token punctuation">}</span><span class="token plain-text"> /&gt;
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">className</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>title<span class="token punctuation">}</span></span> <span class="token attr-name">style</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> fontSize<span class="token punctuation">,</span> color <span class="token punctuation">}</span><span class="token punctuation">}</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
</span><span class="token punctuation">{</span>logoText<span class="token punctuation">}</span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>header</span><span class="token punctuation">&gt;</span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><p>我们只需要按照上面的方式编写组件即可props是DSL定义的数据层用来控制组件的shape也就是组件的表现。我们看看header对应的template。</p> <h2 id="template设计"><a href="#template设计" class="header-anchor">#</a> template设计</h2> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">const</span> template <span class="token operator">=</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'Header'</span><span class="token punctuation">,</span>
h<span class="token operator">:</span> <span class="token number">28</span><span class="token punctuation">,</span>
displayName<span class="token operator">:</span> <span class="token string">'页头组件'</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> template<span class="token punctuation">;</span>
</code></pre></div><p>以上就是我们template的结构type用来定义组件的类型方便渲染器动态查找h代表组件的初始化高度我们可以自由设置。displayName是组件的中文名用来在左侧组件面板中展示方便用户理解我们可以在template中自定义更多辅助信息方便使用者更高效的使用我们的编辑器。</p> <h2 id="schema设计"><a href="#schema设计" class="header-anchor">#</a> schema设计</h2> <p>开发一个自定义组件需要包含3部分, <code>Component</code>, <code>Schema</code><code>Template</code>. 接下来我们看一下 <code>Header</code> 组件的 <code>Schema</code>.</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">import</span> <span class="token punctuation">{</span>
IColorConfigType<span class="token punctuation">,</span>
INumberConfigType<span class="token punctuation">,</span>
ITextConfigType<span class="token punctuation">,</span>
IUploadConfigType<span class="token punctuation">,</span>
TColorDefaultType<span class="token punctuation">,</span>
TNumberDefaultType<span class="token punctuation">,</span>
TTextDefaultType<span class="token punctuation">,</span>
TUploadDefaultType<span class="token punctuation">,</span>
<span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'@/components/FormComponents/types'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token punctuation">{</span> baseConfig<span class="token punctuation">,</span> baseDefault<span class="token punctuation">,</span> ICommonBaseType <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'../../common'</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> type THeaderEditData <span class="token operator">=</span> Array<span class="token operator">&lt;</span>
IColorConfigType <span class="token operator">|</span> INumberConfigType <span class="token operator">|</span> IUploadConfigType <span class="token operator">|</span> ITextConfigType
<span class="token operator">&gt;</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">interface</span> <span class="token class-name">IHeaderConfig</span> <span class="token keyword">extends</span> <span class="token class-name">ICommonBaseType</span> <span class="token punctuation">{</span>
bgColor<span class="token operator">:</span> TColorDefaultType<span class="token punctuation">;</span>
logo<span class="token operator">:</span> TUploadDefaultType<span class="token punctuation">;</span>
logoText<span class="token operator">:</span> TTextDefaultType<span class="token punctuation">;</span>
fontSize<span class="token operator">:</span> TNumberDefaultType<span class="token punctuation">;</span>
color<span class="token operator">:</span> TColorDefaultType<span class="token punctuation">;</span>
height<span class="token operator">:</span> TNumberDefaultType<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">interface</span> <span class="token class-name">IHeaderSchema</span> <span class="token punctuation">{</span>
editData<span class="token operator">:</span> THeaderEditData<span class="token punctuation">;</span>
config<span class="token operator">:</span> IHeaderConfig<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> Header<span class="token operator">:</span> IHeaderSchema <span class="token operator">=</span> <span class="token punctuation">{</span>
editData<span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token operator">...</span>baseConfig<span class="token punctuation">,</span>
<span class="token punctuation">{</span>
key<span class="token operator">:</span> <span class="token string">'bgColor'</span><span class="token punctuation">,</span>
name<span class="token operator">:</span> <span class="token string">'背景色'</span><span class="token punctuation">,</span>
type<span class="token operator">:</span> <span class="token string">'Color'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
key<span class="token operator">:</span> <span class="token string">'height'</span><span class="token punctuation">,</span>
name<span class="token operator">:</span> <span class="token string">'高度'</span><span class="token punctuation">,</span>
type<span class="token operator">:</span> <span class="token string">'Number'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
key<span class="token operator">:</span> <span class="token string">'logo'</span><span class="token punctuation">,</span>
name<span class="token operator">:</span> <span class="token string">'logo'</span><span class="token punctuation">,</span>
type<span class="token operator">:</span> <span class="token string">'Upload'</span><span class="token punctuation">,</span>
isCrop<span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
cropRate<span class="token operator">:</span> <span class="token number">1000</span> <span class="token operator">/</span> <span class="token number">618</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
key<span class="token operator">:</span> <span class="token string">'logoText'</span><span class="token punctuation">,</span>
name<span class="token operator">:</span> <span class="token string">'logo文字'</span><span class="token punctuation">,</span>
type<span class="token operator">:</span> <span class="token string">'Text'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
key<span class="token operator">:</span> <span class="token string">'color'</span><span class="token punctuation">,</span>
name<span class="token operator">:</span> <span class="token string">'文字颜色'</span><span class="token punctuation">,</span>
type<span class="token operator">:</span> <span class="token string">'Color'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
key<span class="token operator">:</span> <span class="token string">'fontSize'</span><span class="token punctuation">,</span>
name<span class="token operator">:</span> <span class="token string">'文字大小'</span><span class="token punctuation">,</span>
type<span class="token operator">:</span> <span class="token string">'Number'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
config<span class="token operator">:</span> <span class="token punctuation">{</span>
bgColor<span class="token operator">:</span> <span class="token string">'rgba(0,0,0,1)'</span><span class="token punctuation">,</span>
logo<span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
uid<span class="token operator">:</span> <span class="token string">'001'</span><span class="token punctuation">,</span>
name<span class="token operator">:</span> <span class="token string">'image.png'</span><span class="token punctuation">,</span>
status<span class="token operator">:</span> <span class="token string">'done'</span><span class="token punctuation">,</span>
url<span class="token operator">:</span> <span class="token string">'http://49.234.61.19/uploads/3_1740be8a482.png'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
logoText<span class="token operator">:</span> <span class="token string">'页头Header'</span><span class="token punctuation">,</span>
fontSize<span class="token operator">:</span> <span class="token number">20</span><span class="token punctuation">,</span>
color<span class="token operator">:</span> <span class="token string">'rgba(255,255,255,1)'</span><span class="token punctuation">,</span>
height<span class="token operator">:</span> <span class="token number">50</span><span class="token punctuation">,</span>
<span class="token operator">...</span>baseDefault<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> Header<span class="token punctuation">;</span>
</code></pre></div><p><code>editData</code>表示组件的可编辑属性, 我们可以自定义哪些组件可编辑. <code>config</code>为组件接收的属性, 和<code>editData</code>数组项中的<code>key</code>一一对应.</p> <h3 id="组件编辑区属性类型"><a href="#组件编辑区属性类型" class="header-anchor">#</a> 组件编辑区属性类型</h3> <p><code>Dooring</code>组件编辑面板有如下对应编辑类型:</p> <ul><li>Upload 上传组件</li> <li>Text 文本框</li> <li>RichText 富文本</li> <li>TextArea 多行文本</li> <li>Number 数字输入框</li> <li>DataList 列表编辑器</li> <li>FileList 文件列表编辑器</li> <li>InteractionData 交互设置</li> <li>Color 颜色面板</li> <li>MutiText 多文本</li> <li>Select 选择下拉框</li> <li>Radio 单选框</li> <li>Switch 开关切换</li> <li>CardPicker 卡片面板</li> <li>Table 表格编辑器</li> <li>Pos 坐标编辑器</li> <li>FormItems 表单设计器</li></ul></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">4/27/2021, 1:17:02 AM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/directoryStructure.html" class="prev">
目录结构
</a></span> <span class="next"><a href="/doc/zh/guide/componentDev/DSLAnalysis.html">
DSL设计
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.4588b99c.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/22.49b6f904.js" defer></script>
</body>
</html>