数通互联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
13 KiB

import{a1 as r,d as o,I as c,N as d,a as h,c as u,ai as m}from"./index-ea7eee8a.js";const l=o({components:{},setup(e){const n=[],s=c({});return{toggleCode:a=>{const t="vdpv_"+a;s[t+"Height"]===0?s[t+"Height"]=(n[a].value?n[a].value.offsetHeight:0)||0:s[t+"Height"]=0},...d(s)}}});l.$vd={matter:{},toc:[{content:"AKForm 表单",anchor:"akform-表单",level:1},{content:"使用方式",anchor:"使用方式",level:2},{content:"API",anchor:"api",level:2},{content:"Props",anchor:"props",level:3},{content:"Events",anchor:"events",level:3},{content:"Methods",anchor:"methods",level:3},{content:"Slot",anchor:"slot",level:3},{content:"formData",anchor:"formdata",level:3}]};const i=l,j={class:"vuedoc"},f=m(`<h1 id="akform-表单" data-source-line="1"><a class="markdownIt-Anchor" href="#akform-表单">#</a> AKForm 表单</h1><p data-source-line="3">适用于导出vue文件</p><h2 id="使用方式" data-source-line="5"><a class="markdownIt-Anchor" href="#使用方式">#</a> 使用方式</h2><pre style="display:none;"></pre><pre class="hljs vuedoc__hljs language-html hljs--one-dark"><code>
<span class="hljs-tag">&lt;<span class="hljs-name">ak-form</span> <span class="hljs-attr">:formData</span>=<span class="hljs-string">&quot;formData&quot;</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">ak-form</span>&gt;</span>
</code></pre><h2 id="api" data-source-line="12"><a class="markdownIt-Anchor" href="#api">#</a> API</h2><h3 id="props" data-source-line="14"><a class="markdownIt-Anchor" href="#props">#</a> Props</h3><table data-source-line="16"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>formData</td><td>object</td><td></td></tr><tr><td>type</td><td>number/1</td><td>123 4 5</td></tr><tr><td>disabled</td><td>boolean/false</td><td></td></tr><tr><td>requestUrl</td><td>string/boolean</td><td>vue</td></tr><tr><td>beforeRequest</td><td>function (params,route)</td><td>vue<code>return false</code></td></tr><tr><td>afterResponse</td><td>function/string</td><td>vue<code>return false</code></td></tr><tr><td>addUrl</td><td>string</td><td>url</td></tr><tr><td>editUrl</td><td>string</td><td>url</td></tr><tr><td>beforeSubmit</td><td>function (params,route)/string</td><td>vue<code>return false</code></td></tr><tr><td>afterSubmit</td><td>function(type,res)</td><td>return falseres,typesuccess/fail/validatevalidate</td></tr><tr><td>value</td><td>object</td><td>setValue</td></tr><tr><td>options</td><td>object</td><td>setOptions</td></tr><tr><td>dict</td><td>object</td><td></td></tr></tbody></table><h3 id="events" data-source-line="31"><a class="markdownIt-Anchor" href="#events">#</a> Events</h3><table data-source-line="32"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>btnClick</td><td></td></tr><tr><td>change</td><td>(key,value,model,data,tProp)keynamevaluemodel:tProp:,datalist</td></tr></tbody></table><h3 id="methods" data-source-line="36"><a class="markdownIt-Anchor" href="#methods">#</a> Methods</h3><table data-source-line="38"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>validate</td><td></td></tr><tr><td>getValue</td><td></td></tr><tr><td>setValue</td><td>(model,filter:boolean) filter=truemodel</td></tr><tr><td>setOptions</td><td></td></tr><tr><td>resetFields</td><td></td></tr><tr><td>getData</td><td>(params:any)</td></tr><tr><td>submit</td><td></td></tr></tbody></table><p data-source-line="48"></p><table data-source-line="50"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>get[formName]ControlByName</td><td>nameformData(name:string)</td></tr><tr><td>get[formName]ValueByName</td><td>nameformData(name:string)</td></tr></tbody></table><h3 id="slot" data-source-line="56"><a class="markdownIt-Anchor" href="#slot">#</a> Slot</h3><table data-source-line="58"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>default</td><td>-</td></tr></tbody></table><h3 id="formdata" data-source-line="63"><a class="markdownIt-Anchor" href="#formdata">#</a> formData</h3><p data-source-line="65"><code>json</code><code>javascript</
<span class="hljs-attr">list</span>: [
{
<span class="hljs-attr">name</span>: <span class="hljs-string">&quot;input1660637151831&quot;</span>, <span class="hljs-comment">// </span>
<span class="hljs-attr">type</span>: <span class="hljs-string">&quot;input&quot;</span>, <span class="hljs-comment">// </span>
<span class="hljs-attr">control</span>: <span class="hljs-comment">// 当前控件类型的所有\`props\`参数,详见\`element-plus\`对应的\`props\`参数</span>
{
<span class="hljs-attr">modelValue</span>: <span class="hljs-string">&quot;&quot;</span>
},
<span class="hljs-attr">config</span>: <span class="hljs-comment">// 其他一些扩展配置信息</span>
{
<span class="hljs-attr">linkKey</span>: <span class="hljs-literal">true</span>, <span class="hljs-comment">// </span>
<span class="hljs-attr">linkValue</span>: <span class="hljs-string">&quot;$.name===1&quot;</span>, <span class="hljs-comment">// \`name\`\`1\`</span>
<span class="hljs-attr">editDisabled</span>: <span class="hljs-literal">true</span> <span class="hljs-comment">// 使</span>
},
<span class="hljs-attr">customRules</span>: [], <span class="hljs-comment">// 使用快速方法添加的校验规则会自动合并到\`item.rules\`</span>
<span class="hljs-attr">item</span>:<span class="hljs-comment">// 组件el-form-item的参数配置</span>
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">rules</span>: [] <span class="hljs-comment">// 校验规则</span>
}
},
{
<span class="hljs-attr">name</span>: <span class="hljs-string">&quot;select1660637154631&quot;</span>,
<span class="hljs-attr">type</span>: <span class="hljs-string">&quot;select&quot;</span>,
<span class="hljs-attr">control</span>:
{
<span class="hljs-attr">modelValue</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">appendToBody</span>: <span class="hljs-literal">true</span>
},
<span class="hljs-attr">options</span>: [<span class="hljs-comment">// \`option\`</span>
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;1&quot;</span>,
<span class="hljs-attr">value</span>: <span class="hljs-string">&quot;value1&quot;</span>
},
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;2&quot;</span>,
<span class="hljs-attr">value</span>: <span class="hljs-string">&quot;value2&quot;</span>
}],
<span class="hljs-attr">config</span>:
{
<span class="hljs-attr">optionsType</span>:<span class="hljs-number">0</span>, <span class="hljs-comment">// 0 1 2</span>
<span class="hljs-attr">optioinsFun</span>:<span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// urlkey</span>
<span class="hljs-attr">method</span>: <span class="hljs-string">&quot;get&quot;</span>, <span class="hljs-comment">// optionsType=1post</span>
<span class="hljs-attr">value</span>:<span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// value,optionsType1</span>
<span class="hljs-attr">label</span>:<span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// label,optionsType1</span>
<span class="hljs-attr">debug</span>:<span class="hljs-literal">true</span> <span class="hljs-comment">// optionsType1sessionStorage,debug=true便</span>
},
<span class="hljs-attr">item</span>:
{
<span class="hljs-attr">label</span>: <span class="hljs-string">&quot;&quot;</span>
}
}],
<span class="hljs-attr">form</span>:<span class="hljs-comment">// 表单配置信息</span>
{
<span class="hljs-attr">labelWidth</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">class</span>: <span class="hljs-string">&quot;&quot;</span>,
<span class="hljs-attr">size</span>: <span class="hljs-string">&quot;default&quot;</span>,
<span class="hljs-attr">name</span>: <span class="hljs-string">&quot;form1660637148435&quot;</span>
},
<span class="hljs-attr">config</span>: {
<span class="hljs-attr">addUrl</span>: <span class="hljs-string">&quot;&quot;</span>, <span class="hljs-comment">// url</span>
<span class="hljs-attr">editUrl</span>: <span class="hljs-string">&quot;&quot;</span>, <span class="hljs-comment">// url</span>
<span class="hljs-attr">requestUrl</span>: <span class="hljs-string">&quot;&quot;</span>, <span class="hljs-comment">// url</span>
<span class="hljs-attr">style</span>: <span class="hljs-string">&#39;&#39;</span>, <span class="hljs-comment">// cssscope</span>
<span class="hljs-attr">hideField</span>: [], <span class="hljs-comment">// 使用v-if隐藏的字段用于交互仅在导出vue时可通过自定义方法修改组件需设置name值</span>
<span class="hljs-attr">addLoad</span>: <span class="hljs-literal">false</span> <span class="hljs-comment">// </span>
},
<span class="hljs-attr">events</span>: { <span class="hljs-comment">// 同props事件</span>
<span class="hljs-attr">beforeRequest</span>: <span class="hljs-function">(<span class="hljs-params">data, route</span>) =&gt;</span> {
<span class="hljs-keyword">return</span> data
},
<span class="hljs-attr">afterResponse</span>: <span class="hljs-function">(<span class="hljs-params">res</span>) =&gt;</span> {
<span class="hljs-keyword">return</span> res
},
<span class="hljs-comment">// afterResponse:&#39;formatTest&#39;, // 也可以是字符串,将执行/utils/formatResutl里的方法,值为方法里的key</span>
<span class="hljs-attr">beforeSubmit</span>: <span class="hljs-function">(<span class="hljs-params">data, route</span>) =&gt;</span> {
<span class="hljs-keyword">return</span> data
},
<span class="hljs-attr">afterSubmit</span>: <span class="hljs-function">(<span class="hljs-params">type,res</span>) =&gt;</span> {
<span class="hljs-comment">// type=success/fail</span>
<span class="hljs-built_in">console</span>.log(res)
},
<span class="hljs-attr">change</span>: <span class="hljs-function">(<span class="hljs-params">name, model</span>) =&gt;</span> {
<span class="hljs-comment">// name当前组件的name,model当前表单的值</span>
<span class="hljs-keyword">return</span> model
}
}
}
</code></pre>`,20),g=[f];function b(e,n,s,p,a,t){return h(),u("div",j,g)}const v=r(i,[["render",b]]);export{v as default};