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

詳解Vue返回值動態(tài)生成表單及提交數(shù)據(jù)的辦法

 更新時間:2021年12月27日 10:13:34   作者:mqy1023  
這篇文章主要為大家介紹了Vue返回值動態(tài)生成表單及提交數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

主要解決的問題

1、vue在循環(huán)的時候需要動態(tài)綁定不同的v-model;vue動態(tài)的表單,數(shù)據(jù)怎么綁定呢?

2、動態(tài)表單上所有name屬性對應的鍵值對的形式提交到后端

一、后端返回的數(shù)據(jù),提交到后端的數(shù)據(jù)格式如下:

// 后端返回的數(shù)據(jù),根據(jù)返回類型用對應的組件
[
	{
	    "componentType": "input",
	    "componentName": "username",
	    "required": "1", // 提交時是否要必須填寫
	    "name": "姓名",
	},
	{
        "componentType": "radio",
        "componentName": "sex",
        "required": "1",
        "name": "性別",
        "options": [
            {
                "name": "男",
                "value": "0000"
            },
            {
                "name": "女",
                "value": "1111"
            }
        ]
   }
]
// 提交到服務器的數(shù)據(jù)格式
{
	username: '我的姓名',
	sex: '0000'  // 對應”男“
}

二、vue前端代碼如下:

<template>
  <div class="page-container">
      <div class="dynamic-content">
        <div v-for="(item,idx) in infoList" :key="idx">
          <input class="common-input" v-model="modelItems[idx]" v-if="item.componentType=='input'">
          <van-radio-group v-model="modelItems[idx]" direction="horizontal" v-if="item.componentType=='radio'">
            <van-radio :name="itemRadio.value" v-for="itemRadio in item.options" :key="itemRadio.value">
              {{itemRadio.name}}
            </van-radio>
          </van-radio-group>
        </div>
        <div class="common-btn" @click="clickSubmit">提交數(shù)據(jù)</div>
      </div>
  </div>
</template>
<script>
import Vue from 'vue'
import { getListData } from '@/api/home'
import { RadioGroup, Radio } from 'vant'
Vue.use(Radio).use(RadioGroup)
export default {
  data() {
    return {
      modelItems: {}, // vue在循環(huán)的時候需要動態(tài)綁定不同的v-model
      infoList: []
    }
  },
  mounted() {
    this.formKeyArr = []
    this.getList()
  },
  methods: {
    getList() {
      getListData()
        .then((res) => {
          const infoListData = res.infoList
          this.infoList = infoListData
          infoListData.forEach((item, index) => {
          	// 保存屬性name和是否必填,后續(xù)提交數(shù)據(jù)用到 
          	// { name: 'username', type: 1 }, { name: 'sex', type: 1}
            this.formKeyArr.push({ name: item.componentName, type: item.required })
          })
        })
        .catch(() => {
        })
    },
    clickSubmit() {
      const postParams = {} // 提交的數(shù)據(jù)
      let isCanSubmit = true
      this.formKeyArr.forEach((item, index) => {
        console.log('item=', item)
        if (item.type === '1' && !this.modelItems[index]) { // 所有require必須的標記符
          // 請先填寫完成, toast請?zhí)顚懲暾?
          isCanSubmit = false
        }
        postParams[item['name']] = this.modelItems[index]
      })
      if (isCanSubmit) {
      	// 可以提交數(shù)據(jù)
      	// 可以拿到提交表單數(shù)據(jù)
      	// { username: '我的姓名', sex: '0000'  // 對應”男“ }
      	console.log('postParams=', postParams)
      }
    }
  }
}
</script>
<style lang="scss">
</style>

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • vuejs父子組件通信的問題

    vuejs父子組件通信的問題

    本篇文章主要介紹了vue父子組件通信 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Vue官方文檔梳理之全局配置

    Vue官方文檔梳理之全局配置

    這篇文章主要介紹了Vue官方文檔梳理之全局配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • .vue?組件打包成?.js的操作方法

    .vue?組件打包成?.js的操作方法

    這篇文章主要介紹了.vue?組件打包成?.js的操作方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • vue3中的ref,toRef,toRefs三個的作用使用小結(jié)

    vue3中的ref,toRef,toRefs三個的作用使用小結(jié)

    Vue3中ref、reactive、toRef、toRefs都是與響應式數(shù)據(jù)相關(guān)的,就此做一份筆記作為區(qū)別,本文重點給大家講解vue3中的ref,toRef,toRefs三個是干嘛的,有什么作用,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • Vue實現(xiàn)開心消消樂游戲算法

    Vue實現(xiàn)開心消消樂游戲算法

    這篇文章主要介紹了使用Vue寫一個開心消消樂游戲,游戲算法在文中給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Vue內(nèi)聯(lián)處理器中訪問方法和訪問事件參數(shù)詳解

    Vue內(nèi)聯(lián)處理器中訪問方法和訪問事件參數(shù)詳解

    在 Vue 3 中,使用組合式 API 時,可以通過內(nèi)聯(lián)事件處理器來直接在模板中編寫事件處理邏輯,內(nèi)聯(lián)事件處理器不僅可以直接執(zhí)行簡單的操作,還可以調(diào)用組件中的方法,并訪問事件參數(shù),下面將詳細講解如何在內(nèi)聯(lián)事件處理器中調(diào)用方法以及訪問事件參數(shù),需要的朋友可以參考下
    2024-12-12
  • Vue filter 過濾當前時間 實現(xiàn)實時更新效果

    Vue filter 過濾當前時間 實現(xiàn)實時更新效果

    這篇文章主要介紹了Vue filter 過濾當前時間 實現(xiàn)實時更新效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 詳解vuex的簡單使用

    詳解vuex的簡單使用

    這篇文章主要介紹了詳解vuex的簡單使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 12 種使用Vue 的最佳做法

    12 種使用Vue 的最佳做法

    這篇文章主要介紹了12 種使用Vue 的最佳做法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • vue axios請求頻繁時取消上一次請求的方法

    vue axios請求頻繁時取消上一次請求的方法

    這篇文章主要介紹了vue axios請求頻繁時取消上一次請求的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論

新龙县| 镶黄旗| 邹城市| 旌德县| 浮梁县| 太仓市| 漳平市| 嘉祥县| 望谟县| 成都市| 利川市| 乌拉特后旗| 应城市| 云和县| 襄垣县| 奈曼旗| 乌鲁木齐县| 凤凰县| 涞源县| 德格县| 通山县| 乌恰县| 五大连池市| 丹江口市| 翁牛特旗| 那曲县| 原平市| 濮阳县| 日喀则市| 鹤壁市| 易门县| 霍邱县| 平邑县| 两当县| 循化| 娱乐| 全椒县| 桐城市| 玉田县| 宁蒗| 灵寿县|