欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3根據動態(tài)字段綁定v-model的操作代碼

 更新時間:2022年10月12日 14:04:09   作者:明知山_  
最近在學習vue技術,開發(fā)表格的時候,想把表格做成組件,那查詢條件就需要動態(tài)生成,這就遇到一個問題,vue怎么動態(tài)給v-model變量值,本文通過實例代碼給大家介紹,對Vue3動態(tài)綁定v-model實例代碼感興趣的朋友一起看看吧

因業(yè)務需要用到低代碼,v-model綁定的是隨機生成的

<template>
    <input type="text" v-model="form[key]">
    <button @click="submit">提交</button>
</template>
<script setup>
import { ref } from "vue"
const form = ref({})
const key = ref("input-123456")
const submit = () => {
    console.log(form.value)
}
</script>

在這里插入圖片描述

VUE動態(tài)綁定v-model變量(ui框架iview)

需求

最近在學習vue技術,開發(fā)表格的時候,想把表格做成組件,那查詢條件就需要動態(tài)生成,這就遇到一個問題,vue怎么動態(tài)給v-model變量值。

UI框架使用的是iview

頁面渲染(子組件)

 <div class="ivu-card-body">
        <Form ref="formInline" v-model="formInline" inline>
          <Row type="flex" justify="end" align="middle">
            <Col
              :xs="24"
              :sm="24"
              :md="6"
              :lg="12"
              :xl="8"
              class="form-item-col"
              v-for="(formItem, formIndex) in formArray"
              :key="formItem.id"
              :value="formIndex"
            >
              <FormItem :label="formItem.label + ':'">
                <Input
                  v-if="formItem.componentType == 'input'"
                  :type="formItem.type"
                  v-model="formInline[formItem.model]"
                  :placeholder="formItem.placeholder"
                >
                </Input>
              </FormItem>
            </Col>
            <Col
              :xs="24"
              :sm="24"
              :md="6"
              :lg="12"
              :xl="8"
              class="form-item-col ivu-btn-right"
            >
              <FormItem>
                <Button
                  type="primary"
                  class="ivu-seach-btn"
                  @click="SeachHanler"
                  >搜索</Button>
              </FormItem>
            </Col>
          </Row>
        </Form>
</div>

子組件js

export default {
  name: "TableSearch",
  props: {
    formArray: {
      type: [Object, Array],
      default: () => {}, //這邊是箭頭函數
    },
  },
  data() {
    var dataInit = {
      formInline: {}, //查詢條件form
    };
    return dataInit;
  },
  watch: {
    // 處理循環(huán)的數據  
    formArray() {
       this.formArray.map((item) => {
        if (item && item.model && item.modelValue) {
          this.$set(this.formInline, item.model, item.modelValue);
        }
      });
    },
  },
  methods: {
    //搜索
    SeachHanler() {
      this.$emit("on-search", this.formInline);
    }
  },
  mounted() {},
  created() {},
};

父組件使用

  data() {
    return {
      formArray: [
      {
        componentType: "input",
        type: "text",
        model: "UserName",
        modelValue: "用戶1",
        placeholder: "請輸入用戶名1111",
        label: "用戶名111",
        id: "1",
      },
      {
        componentType: "input",
        type: "text",
        model: "Phone",
        modelValue: "11111",
        placeholder: "請輸入電話",
        label: "電話",
        id: "2",
      }
    ]
    };
  },

遇到的問題以及解決

1.問題: 怎么讓變量值綁定到v-model上
解決: v-model="formInline[formItem.model]"
其中formInline是在form組件上定義的一個對象

2.問題:變量值綁定上去了,怎么去讓數據顯示到子組件的“data”中
解決: 通過watch監(jiān)聽 formArray的值變化,然后使用下面的代碼進行反顯,不然會導致v-model綁定的變量無法修改。
this.$set(this.formInline, item.model, item.modelValue);

到此這篇關于Vue3根據動態(tài)字段綁定v-model的文章就介紹到這了,更多相關Vue3動態(tài)綁定v-model內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue+springboot批量刪除功能實現代碼

    Vue+springboot批量刪除功能實現代碼

    這篇文章主要介紹了Vue+springboot批量刪除功能,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • vue3 獲取元素高度不準的問題

    vue3 獲取元素高度不準的問題

    這篇文章主要介紹了vue3 獲取元素高度不準的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue-resource?獲取本地json數據404問題的解決

    vue-resource?獲取本地json數據404問題的解決

    這篇文章主要介紹了vue-resource?獲取本地json數據404問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue 3 + Element Plus樹形表格全選多選及子節(jié)點勾選的問題解決方法

    Vue 3 + Element Plus樹形表格全選多選及子節(jié)點勾選的問題解決方

    在本文中,我們解決了Vue 3和Element Plus樹形表格中的全選、多選、子節(jié)點勾選和父節(jié)點勾選等常見問題,通過逐步實現這些功能,您可以構建功能強大且用戶友好的樹形表格組件,以滿足各種數據展示需求,對Vue 3 Element Plus樹形表格相關知識感興趣的朋友一起看看吧
    2023-12-12
  • vue 使用vue-i18n做全局中英文切換的方法

    vue 使用vue-i18n做全局中英文切換的方法

    這篇文章主要介紹了vue 使用vue-i18n做全局中英文切換的實現方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-10-10
  • Vue.js實現網格列表布局轉換方法

    Vue.js實現網格列表布局轉換方法

    下面小編就為大家?guī)硪黄猇ue.js實現網格列表布局轉換方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Jenkins自動化部署Vue項目的方法實現

    Jenkins自動化部署Vue項目的方法實現

    本文主要介紹了Jenkins自動化部署Vue項目的方法實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue 計算屬性和偵聽器的使用小結

    vue 計算屬性和偵聽器的使用小結

    這篇文章主要介紹了vue 計算屬性和偵聽器的使用小結,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • vue draggable resizable 實現可拖拽縮放的組件功能

    vue draggable resizable 實現可拖拽縮放的組件功能

    這篇文章主要介紹了vue draggable resizable 實現可拖拽縮放的組件功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • vuex之this.$store.dispatch()與this.$store.commit()的區(qū)別及說明

    vuex之this.$store.dispatch()與this.$store.commit()的區(qū)別及說明

    這篇文章主要介紹了vuex之this.$store.dispatch()與this.$store.commit()的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論