<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # ng-form-design 表單構建器 ng-form-design 表單繪制組件提供組件列表、繪制面板、屬性面板三部分,將組件拖拽至繪制面板后,通過屬性配置,最終得到一個動態表單json數據。 ## 1、 基礎用法 全局安裝后直接通過ng-form-design使用: ``` <template> <div> <ng-form-design /> </div> </template> <script> export default { } </script> ``` ![基礎用法](https://img.kancloud.cn/6b/90/6b900757cee978291b17ca22bfbbf6dd_2866x1559.png "基礎用法.png") ## 2、 使用歷史已配置好的表單模板 ``` <template> <div> <ng-form-design ref="formDesign"/> </div> </template> <script> export default { created(){ this.init() }, methods: { init() { // 假設此處從后臺獲取數據 const remoteModel = this.getRemoteModel() this.$nextTick(()=> { // 賦值 this.$refs.formDesign.initModel(remoteModel) }) }, // 獲取遠程數據 getRemoteModel() { return .... } } } </script> ``` ![使用歷史已配置好的表單模板](https://img.kancloud.cn/eb/0b/eb0bba627b9d429cc8bf404a56cb680f_2852x1564.png "使用歷史已配置好的表單模板.png") ## 3、 僅顯示部分組件 基礎組件僅顯示 輸入框和文本框,布局組件顯示表格布局和柵格布局,裝飾組件全部隱藏 ``` <template> <div> <ng-form-design ref="formDesign" :basic-item="basicItem" :layout-item="layoutItem" :decorate-item="false"/> </div> </template> <script> export default { data() { return{ basicItem: ['input' , 'textarea'], layoutItem: ['table' , 'grid'] } } } </script> ``` ![僅顯示部分組件](https://img.kancloud.cn/4c/e0/4ce03352e6f0872d1e20100cb9e7a040_2869x1562.png "僅顯示部分組件.png") ## 4、 功能按鈕組 默認按鈕組中只打開preview,其他按鈕全部不顯示; 使用按鈕插槽掛在一個按鈕,名字叫做“初始化” ``` <template> <div> <ng-form-design ref="formDesign" :clear="false" :preview="true" :imp="false" :exp="false" > <template slot="controlButton"> <el-button type="text" size="medium" @click="init()">初始化</el-button> </template> </ng-form-design> </div> </template> <script> export default { methods: { init() { console.log('初始化') } } } </script> ``` ![功能按鈕組](https://img.kancloud.cn/4b/5b/4b5b7116485c56e50bad62d44c1e0c6f_2880x1562.png "功能按鈕組.png") ## 5、 config配置 表單對數據字典,axios后臺請求均可以自定義配置,其中數據字典的配置為傳遞字段數據值,axios請求配置為配置函數。 ### 5.1 axios請求 當checkbox、select、文件上傳等組件需要和后臺產生交互時,可以配置axios的header來達到后臺鑒權等操作。 具體使用方法在config中增加httpConfig的配置,內部為一個函數,規格如下: ``` httpConfig: (config)=>{ // 此處可以通過本地方法拿到token等信息來放入請求頭中 const token = 'xxxxx' config.headers['token'] = token return config } ``` 完整代碼示例如下: ``` <template> <div> <ng-form-design ref="formDesign" :config="formConfig" > </ng-form-design> </div> </template> <script> import { getTokenKey , getToken } from '@/utils/auth.js' export default { data() { return { formConfig: { httpConfig: (config)=>{ const token = getToken() const key = getTokenKey() config.headers[key] = token return config } } } } } </script> ``` ### 5.2 數據字典 組件中對下拉框、單選框、多選框提供可選的數據字典配置,方便應用進行業務集成。其中數據字典需要配置進入動態表單中;數據格式參考: ``` [ { type: 'sex' , label: '男' , value: '1' }, { type: 'sex' , label: '女' , value: '2' }, ...... ] ``` 完整代碼示例如下: ``` <template> <div> <ng-form-design ref="formDesign" :config="formConfig" > </ng-form-design> </div> </template> <script> export default { data() { return { formConfig: { // 數據字典配置 // 此處可先后臺獲取需要的字典后配置 dict: [ {type: 'sex' , label: '男' , value: '1'}, {type: 'sex' , label: '女' , value: '2'}, {type: 'yes_or_no' , label: '是' , value: '1'}, {type: 'yes_or_no' , label: '否' , value: '2'}, {type: 'nation' , label: '漢族' , value: '1'}, {type: 'nation' , label: '蒙古族' , value: '2'}, {type: 'nation' , label: '藏族' , value: '3'}, {type: 'nation' , label: '壯族' , value: '4'} ] } } } } </script> ``` ![數據字典](https://img.kancloud.cn/d3/27/d327f8c743b3c9771e1f1fab2b0b7ee6_2838x1558.png "數據字典.png") ## 6、 方法 | 方法名稱 | 參數|返回值| 說明 | |-----------|--------|-------|-------------------------| | initModel | json | N/A | 初始化動態表單內容,參數為動態表單json模板| | getModel| N/A| json | 返回當前正在編輯得動態表單信息| ## 7、 屬性 | 屬性名 | 說明 | 格式| 默認值 | |-----------|------------------------------|--------|----------| | customComponents | 自定義組件的配置,具體參加最下方自定義組件示例中的格式 | array | N/A | | config|表單的一些基礎配置,主要為http的一些參數,譬如在http請求中給header增加參數:config: { httpConfig: (config)=>{ config.headers['aaaa'] = 'bbbb' return config } }| object | N/A | | clear| 是否顯示面板上清除按鈕 |boolean | true | | preview| 是否顯示面板上預覽按鈕 |boolean | true | | imp| 是否顯示面板上導入按鈕 |boolean | true | | exp| 是否顯示面板上導出按鈕 |boolean | true | | basic-item| 基礎組件是否要展示或待選組件列表集合 |boolean/Array | true | | decorate-item| 個性化組件是否要展示或待選組件列表集合 |boolean/Array | true | | layout-item| 布局組件是否要展示或待選組件列表集合 |boolean/Array | true | | application-item| 應用組件是否要展示或待選組件列表集合 |boolean/Array | true | ## 8、 插槽 | 插槽名稱 | 說明 | |-----------|-------------------------| | drag | 左側組件面板插槽,可以在組件面板上面填充一個區域展示內容| | form-name | 當前動態表單名稱| | control-button | 功能區按鈕,如果需要自定義功能按鈕可以在這里自定義 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看