最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue 動態(tài)表單開發(fā)方法案例詳解

 更新時間:2019年12月02日 11:21:06   作者:自由港  
這篇文章主要介紹了vue 動態(tài)表單開發(fā)方法,結(jié)合具體案例形式詳細(xì)分析了vue.js動態(tài)表單相關(guān)原理、開發(fā)步驟與實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了vue 動態(tài)表單開發(fā)方法。分享給大家供大家參考,具體如下:

概要

動態(tài)表單指的是我們的表單不是通過vue 組件一個個編寫的,我們的表單是根據(jù)后端生成的vue模板,在前端通過vue構(gòu)建出來的。主要的思路是,在后端生成vue的模板,前端通過ajax的方式加載后端的表單模板,權(quán)限數(shù)據(jù)和表單數(shù)據(jù),在前端使用vue進(jìn)行構(gòu)建出來。

表單渲染過程。

實現(xiàn)步驟

1.在前端開發(fā)表單組件,比如用戶組件,文本輸入組件。

在平臺中我們可以看到我們開發(fā)的組件。

組件的開發(fā)在第三篇有介紹。

我們定義的組件和后臺配置的權(quán)限相關(guān)。

我們每個組件都定義了:

  • permission: 權(quán)限對象
  • permissionkey:權(quán)限對應(yīng)的key

2.手機(jī)端模板代碼

手機(jī)端模板是通過表單BO元數(shù)據(jù)生成的,我們可以在后端編輯手機(jī)端模板,我們現(xiàn)在看一下簡單的手機(jī)表單VUE的模板。

<script>// 表單公式計算
var formulas_2400000001371061={};
// 表單日期計算
var dateCalcs_2400000001371061={};
//實體擴(kuò)展JSON
var extJson_2400000001371061={};
//驗證規(guī)則
var validRule_2400000001371061={"main":{"age":{"vtype":"length:50"},"name":{"vtype":"length:50"},"mobile":{"vtype":"length:50"}}};</script>
<yd-popup v-model="showUserDialog" position="center" width="100%">
  <rx-sysuser :single="singleUser" ref="sysUser" v-on:ok="selectUser" v-on:cancel="closeUserDialog()"></rx-sysuser>
</yd-popup>
<yd-popup v-model="showGroupDialog" position="center" width="100%">
  <rx-sysgroup :single="singleGroup" ref="sysGroup" v-on:ok="selectGroup" v-on:cancel="closeGroupDialog()"></rx-sysgroup>
</yd-popup>
<div class="div-form">
  <div class="caption">
    simpleform
  </div>
  <div class="form-container">
    <div class="form">
      <div class="form-title">
          name
      </div>
      <div class="form-input">
        <rx-input v-model="data.name" permissionkey="name" vtype="length:50" :readonly="readonly" :permission="permission.main"></rx-input>
      </div>
    </div>
    <div class="form">
      <div class="form-title">
          age
      </div>
      <div class="form-input">
        <rx-input v-model="data.age" permissionkey="age" vtype="length:50" :readonly="readonly" :permission="permission.main"></rx-input>
      </div>
    </div>
    <div class="form">
      <div class="form-title">
          mobile
      </div>
      <div class="form-input">
        <rx-input v-model="data.mobile" permissionkey="mobile" vtype="length:50" :readonly="readonly" :permission="permission.main"></rx-input>
      </div>
    </div>
  </div>
</div>

這個表單中:

我們可以看到我們自定義的組件,包括數(shù)據(jù),權(quán)限部分,驗證規(guī)則部分。

3.后端提供的數(shù)據(jù)部分。

我們可以看下后端提供的數(shù)據(jù):

[{
    "result": true,
    "msg": "",
    "type": "",
    "formKey": "simpleform",
    "content": "<script>// 表單公式計算\r\nvar formulas_2400000001371061={};\r\n// 表單日期計算\r\nvar dateCalcs_2400000001371061={};\r\n//實體擴(kuò)展JSON\r\nvar extJson_2400000001371061={};\r\n//驗證規(guī)則\r\nvar validRule_2400000001371061={\"main\":{\"age\":{\"vtype\":\"length:50\"},\"name\":{\"vtype\":\"length:50\"},\"mobile\":{\"vtype\":\"length:50\"}}};</script><yd-popup v-model=\"showUserDialog\" position=\"center\" width=\"100%\"><rx-sysuser :single=\"singleUser\" ref=\"sysUser\" v-on:ok=\"selectUser\" v-on:cancel=\"closeUserDialog()\"></rx-sysuser></yd-popup><yd-popup v-model=\"showGroupDialog\" position=\"center\" width=\"100%\"><rx-sysgroup :single=\"singleGroup\" ref=\"sysGroup\" v-on:ok=\"selectGroup\" v-on:cancel=\"closeGroupDialog()\"></rx-sysgroup></yd-popup><div class=\"div-form\">\r\n\t<div class=\"caption\">simpleform</div>\r\n\t<div class=\"form-container\">\r\n\t\t\t<div class=\"form\">\r\n\t\t\t\t<div class=\"form-title\">\r\n\t\t\t\t\tname\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-input\">\r\n\t\r\n\t\t\t\t<rx-input v-model=\"data.name\" permissionkey=\"name_form\" vtype=\"length:50\" :readonly=\"readonly\" :permission=\"permission.main\"></rx-input>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form\">\r\n\t\t\t\t<div class=\"form-title\">\r\n\t\t\t\t\tage\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-input\">\r\n\t\r\n\t\t\t\t<rx-input v-model=\"data.age\" permissionkey=\"age_form\" vtype=\"length:50\" :readonly=\"readonly\" :permission=\"permission.main\"></rx-input>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form\">\r\n\t\t\t\t<div class=\"form-title\">\r\n\t\t\t\t\tmobile\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-input\">\r\n\t\r\n\t\t\t\t<rx-input v-model=\"data.mobile\" permissionkey=\"mobile_form\" vtype=\"length:50\" :readonly=\"readonly\" :permission=\"permission.main\"></rx-input>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t</div></div>\r\n\t",
    "permission": "{\"main\":{\"age\":{\"require\":false,\"right\":\"w\"},\"name\":{\"require\":false,\"right\":\"w\"},\"mobile\":{\"require\":false,\"right\":\"w\"}}}",
    "jsonData": {
      "age": "",
      "name": "",
      "mobile": ""
    },
    "description": "simpleform",
    "viewId": "2400000001371078",
    "boDefId": "2400000001371061",
    "timeStamp": "1523799818000",
    "params": {}
  }]

這里看到后端返回的數(shù)據(jù)主要包括:

  • content :表單內(nèi)容
  • permission:表單權(quán)限
  • jsonData:表單數(shù)據(jù)

4.通過vue 將表單進(jìn)行渲染

步驟:

1.將html放到容器中。

2.使用vue 將數(shù)據(jù)和模版渲染到容器中。

希望本文所述對大家vue.js程序設(shè)計有所幫助。

相關(guān)文章

  • vue中$emit的用法詳解

    vue中$emit的用法詳解

    這篇文章主要介紹了vue中$emit的用法詳解,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • vue動態(tài)添加路由addRoutes之不能將動態(tài)路由存入緩存的解決

    vue動態(tài)添加路由addRoutes之不能將動態(tài)路由存入緩存的解決

    這篇文章主要介紹了vue動態(tài)添加路由addRoutes之不能將動態(tài)路由存入緩存的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 利用vue控制元素的顯示與隱藏

    利用vue控制元素的顯示與隱藏

    大家都知道在vue中我們可以使用v-if或者v-show去做隱藏顯示,下面這篇文章主要給大家介紹了關(guān)于如何利用vue控制元素的顯示與隱藏的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 5個可以加速開發(fā)的VueUse函數(shù)庫(小結(jié))

    5個可以加速開發(fā)的VueUse函數(shù)庫(小結(jié))

    VueUse為Vue開發(fā)人員提供了大量適用于Vue2和Vue3的基本Composition API 實用程序函數(shù)。具有一定的參考價值,感興趣的可以了解一下
    2021-11-11
  • axios取消請求的實踐記錄分享

    axios取消請求的實踐記錄分享

    今天小編就為大家?guī)硪黄猘xios取消請求的實踐記錄分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 在Vue組件中獲取全局的點(diǎn)擊事件方法

    在Vue組件中獲取全局的點(diǎn)擊事件方法

    今天小編就為大家分享一篇在Vue組件中獲取全局的點(diǎn)擊事件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)的問題

    ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)的問題

    這篇文章主要介紹了ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue實現(xiàn)簡單跑馬燈特效

    Vue實現(xiàn)簡單跑馬燈特效

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)簡單跑馬燈特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • vue如何清除瀏覽器歷史棧

    vue如何清除瀏覽器歷史棧

    這篇文章主要介紹了vue如何清除瀏覽器歷史棧,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue項目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決

    vue項目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決

    這篇文章主要介紹了vue項目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

南乐县| 炉霍县| 六枝特区| 都江堰市| 夹江县| 广南县| 邵武市| 曲阳县| 江门市| 广昌县| 旬邑县| 梧州市| 高州市| 罗定市| 奉化市| 呼图壁县| 会理县| 克什克腾旗| 商洛市| 遵化市| 南投县| 永州市| 济阳县| 营山县| 东港市| 定西市| 木里| 平度市| 金秀| 株洲市| 浏阳市| 盈江县| 玉门市| 昌江| 巧家县| 博乐市| 蕉岭县| 满洲里市| 德阳市| 开平市| 巴林右旗|