在前端页面中 默认生成了数据如下<template> <div class="content"> <div class="row"> <div class="list"> <ul> <li>序号</li> <li>权限</li> <li>角色</li> <li>账号</li> <li>编辑</li> </ul> </div> </div> <div class="row"> <div class="lists"> <ul v-for="item in dataList" :key="item.id"> <li>{{ item.userid }}</li> <li>{{ item.authority }}</li> <li>{{ item.role }}</li> <li>{{ item.username }}</li> <li @click="ect">编辑</li> </ul> </div> </div> </div> </template> <script setup> import { ref, onMounted } from "vue"; import { getList } from "@/api/user"; const dataList = ref([]); onMounted(async () => { try { const response = await getList(); dataList.value = response.data; } catch (error) { console.error(error); } }); </script> 如何实现对数据修改并且不改变id
时间: 2023-11-16 22:38:45 浏览: 176
Vue拖拽组件列表实现动态页面配置功能
4星 · 用户满意度95%
对数据进行修改需要在编辑按钮的点击事件中进行处理,可以在方法中接收当前被点击的数据对象,然后将其赋值给一个临时变量,进行修改后再将修改后的数据赋值回去。同时需要确保不改变数据的id。
下面是一个可能的实现方式:
<template>
<div class="content">
<div class="row">
<div class="list">
<ul>
<li>序号</li>
<li>权限</li>
<li>角色</li>
<li>账号</li>
<li>编辑</li>
</ul>
</div>
</div>
<div class="row">
<div class="lists">
<ul v-for="item in dataList" :key="item.id">
<li>{{ item.userid }}</li>
<li>{{ item.authority }}</li>
<li>{{ item.role }}</li>
<li>{{ item.username }}</li>
<li @click="edit(item)">编辑</li>
</ul>
</div>
</div>
</div>
</template>
<script setup>
import { ref, onMounted } from "vue";
import { getList } from "@/api/user";
const dataList = ref([]);
const editedData = ref(null);
onMounted(async () => {
try {
const response = await getList();
dataList.value = response.data;
} catch (error) {
console.error(error);
}
});
const edit = (data) => {
editedData.value = { ...data };
// 弹出编辑框,让用户修改数据
// ...
}
const save = () => {
// 将修改后的数据赋值回去
const index = dataList.value.findIndex((item) => item.id === editedData.value.id);
if (index >= 0) {
dataList.value[index] = { ...editedData.value };
}
// 隐藏编辑框
// ...
}
</script>
在 edit 方法中,我们将当前被点击的数据对象赋值给了 editedData 变量,这样在编辑框中修改数据时,就修改的是这个临时变量中的数据。在 save 方法中,我们根据 editedData 变量中的 id 找到原始数据中对应的索引,然后将修改后的数据赋值回去。这样就实现了对数据的修改而不改变 id 的要求。
阅读全文