解决vue页面,新增和编辑使用同一组件,但是点击新增后,回显了编辑的值
时间: 2023-09-28 16:11:02 浏览: 101
这个问题通常是因为在进入新增页面时,没有清空组件中的数据,导致组件中的数据仍然是上一次编辑的数据。解决这个问题的方法有两种:
1. 在进入新增页面时,手动清空组件中的数据。
你可以在进入新增页面时,手动将组件中的数据清空。比如,在 `mounted` 钩子函数中,将组件中的数据重置为默认值,或者赋值为空。
```vue
<template>
<div>
<!-- 表单组件 -->
</div>
</template>
<script>
export default {
data() {
return {
form: {
// 表单数据
}
}
},
mounted() {
// 重置表单数据
this.form = {
// 表单数据的默认值
}
}
}
</script>
```
2. 在进入新增页面时,使用不同的数据对象。
你可以在进入新增页面时,使用一个新的数据对象,而不是使用上一次编辑的数据对象。这样可以避免在新增页面回显编辑的数据。
```vue
<template>
<div>
<!-- 表单组件 -->
</div>
</template>
<script>
export default {
data() {
return {
form: {
// 表单数据
}
}
},
created() {
// 判断是否是编辑页面
if (this.$route.params.id) {
// 如果是编辑页面,则从后端获取数据,然后为 form 赋值
this.fetchData()
} else {
// 如果是新增页面,则使用一个新的数据对象
this.form = {
// 表单数据的默认值
}
}
},
methods: {
fetchData() {
// 从后端获取数据,然后为 form 赋值
}
}
}
</script>
```
这两种方法都可以解决组件回显编辑的数据的问题,具体使用哪种方法取决于你的具体需求。
阅读全文