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

解決vue3報錯:Unexpected?mutation?of?“xxx“?prop.(eslintvue/no-mutating-props)

 更新時間:2023年12月15日 11:40:50   作者:jieyucx  
這篇文章主要給大家介紹了關(guān)于如何解決vue3報錯:Unexpected?mutation?of?“xxx“?prop.(eslintvue/no-mutating-props)的相關(guān)資料,文中通過代碼將解決辦法介紹的非常詳細,需要的朋友可以參考下

eslint校驗報這個錯,其實是Vue的單向數(shù)據(jù)流的概念,因為識別到子組件中修改了props值。

我這里踩到這個坑是這么操作的,我在父組件中給子組件傳了個值,然后再子組件中v-modle這個值,于是就給我報了這個錯!

復(fù)現(xiàn)場景如下:

父組件中

<enter-school ref="enterSchoolRef" :student-info="selectRows" />

子組件中

<template>
    <el-form ref="formRef" class="enterForm" inline :model="form" :rules="rules" @submit.prevent>
      <el-input
          v-model="studentInfo[0].name"
          clearable
          placeholder="請輸入姓名"
        />
     </el-form>
</template>
<script>
    props: {
      studentInfo: {
        type: Array, //類型
        default: null //默認值
      },
    },
</script>

報錯就在v-model="studentInfo[0].name"不應(yīng)該在子組件中直接雙向綁定父組件傳遞過來的值

解決方案:

  • 計算屬性 依賴該props進行計算/轉(zhuǎn)換
<template>
 <el-input
      v-model="studentName"
      clearable
      placeholder="請輸入姓名"
 />
</template>
<script>
    import { computed } from 'vue'
    props: {
      studentInfo: {
        type: Array, //類型
        default: null //默認值
      },
    }
    setup(props) {
      const studentName = computed(() =>
        props.studentInfo &&
        props.studentInfo.length > 0 ? props.studentInfo[0].name : null
      )
      return {
          studentName 
     }
    }
</scirpt>
  • 定義中間變量 在子組件內(nèi)的定義一個變量,并將接收的props當作其初始值:
<template>
 <el-input
      v-model="studentName"
      clearable
      placeholder="請輸入姓名"
 />
</template>
<script>
    import { computed, defineComponent, reactive, toRefs } from 'vue'
    props: {
      studentInfo: {
        type: Array, //類型
        default: null //默認值
      },
     }
    export default defineComponent({
    setup(props) {
      const state = reactive({
        studentName : props.studentInfo[0].name
      })
      return {
          ...toRefs(state),
     }
    }
   })
</scirpt>

我就是用的方案1,搞個計算屬性解決了

總結(jié)

到此這篇關(guān)于解決vue3報錯:Unexpected mutation of “xxx“ prop.(eslintvue/no-mutating-props)的文章就介紹到這了,更多相關(guān)Unexpected mutation of “xxx“ prop內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue2過濾器模糊查詢方法

    vue2過濾器模糊查詢方法

    今天小編就為大家分享一篇vue2過濾器模糊查詢方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 深入理解Vue父子組件生命周期執(zhí)行順序及鉤子函數(shù)

    深入理解Vue父子組件生命周期執(zhí)行順序及鉤子函數(shù)

    本文通過實例代碼給大家介紹了Vue父子組件生命周期執(zhí)行順序及鉤子函數(shù)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-08-08
  • vue-cli項目使用mock數(shù)據(jù)的方法(借助express)

    vue-cli項目使用mock數(shù)據(jù)的方法(借助express)

    現(xiàn)如今前后端分離開發(fā)越來越普遍,前端人員寫好頁面后可以自己模擬一些數(shù)據(jù)進行代碼測試,這樣就不必等后端接口,提高了我們開發(fā)效率。今天就來分析下前端常用的mock數(shù)據(jù)的方式是如何實現(xiàn)的,需要的朋友可以參考下
    2019-04-04
  • Vue驗證碼60秒倒計時功能簡單實例代碼

    Vue驗證碼60秒倒計時功能簡單實例代碼

    這篇文章主要介紹了Vue驗證碼60秒倒計時功能簡單實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • vue3項目中使用three.js的操作步驟

    vue3項目中使用three.js的操作步驟

    最近在學(xué)習(xí)Three.js相關(guān)的技術(shù),恰逢Vue 3.0正式版也已推出,下面這篇文章主要給大家介紹了關(guān)于vue3項目中使用three.js的操作步驟,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Element Cascader 級聯(lián)選擇器的使用示例

    Element Cascader 級聯(lián)選擇器的使用示例

    這篇文章主要介紹了Element Cascader 級聯(lián)選擇器的使用示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • vue父子模板傳值問題解決方法案例分析

    vue父子模板傳值問題解決方法案例分析

    這篇文章主要介紹了vue父子模板傳值問題解決方法,結(jié)合案例形式分析了vue.js父子模板傳值問題相關(guān)實現(xiàn)方法與具體操作步驟,需要的朋友可以參考下
    2020-02-02
  • vuejs+element UI table表格中實現(xiàn)禁用部分復(fù)選框的方法

    vuejs+element UI table表格中實現(xiàn)禁用部分復(fù)選框的方法

    今天小編就為大家分享一篇vuejs+element UI table表格中實現(xiàn)禁用部分復(fù)選框的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • vue-devtools安裝使用全過程

    vue-devtools安裝使用全過程

    這篇文章主要介紹了vue-devtools安裝使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue-router 4使用實例詳解

    vue-router 4使用實例詳解

    雖然 vue-router 4 大多數(shù) API 保持不變,但是在 vue3 中以插件形式存在,所以在使用時有一定的變化。接下來就學(xué)習(xí)學(xué)習(xí)它是如何使用的
    2021-11-11

最新評論