问题
Unexpected mutation of “XXX” prop vue/no-mutating-props
原理:v-model是双向数据绑定,props则是从父组件传来的属性,v-model无法对父组件的属性进行修改
思路
在data中对属性进行别名赋值,即在data中声明props属性的别名,并对其进行赋值
<script>
export default {
props: {
inline: Boolean,
form: Object,
formLabel: Array,
},
data() {
return {
formV: this.$props.form,
};
},
};
</script>
<template>
<el-form :inline="inline" :model="formV" ref="form" label-width="100px">
<el-form-item v-for="item in formLabel" :key="item.model" :label="item.label">
<el-input v-model="formV[item.model]" :placeholder="'请输入' + item.label" v-if="!item.type"></el-input>
</el-form-item>
</el-form>
</template>