vue el-descriptions 实现可编辑功能
时间: 2024-02-03 07:09:44 浏览: 420
Vue的el-descriptions组件并不直接支持可编辑功能,但你可以通过结合其他组件和事件来实现这个功能。以下是一个示例:
```html
<template>
<div>
<el-descriptions :border="false" :column="1">
<el-descriptions-item label="姓名">
<template v-if="!isEditingName">{{ name }}</template>
<template v-else>
<el-input v-model="editedName"></el-input>
</template>
<el-button type="text" icon="el-icon-edit" @click="toggleEdit('name')"></el-button>
</el-descriptions-item>
<el-descriptions-item label="年龄">
<template v-if="!isEditingAge">{{ age }}</template>
<template v-else>
<el-input v-model="editedAge"></el-input>
</template>
<el-button type="text" icon="el-icon-edit" @click="toggleEdit('age')"></el-button>
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
export default {
data() {
return {
name: '张三',
age: 25,
editedName: '',
editedAge: '',
isEditingName: false,
isEditingAge: false
};
},
methods: {
toggleEdit(field) {
if (field === 'name') {
if (this.isEditingName) {
this.name = this.editedName;
}
this.isEditingName = !this.isEditingName;
} else if (field === 'age') {
if (this.isEditingAge) {
this.age = this.editedAge;
}
this.isEditingAge = !this.isEditingAge;
}
}
}
};
</script>
```
在上面的示例中,我们使用了el-descriptions组件来展示姓名和年龄的信息。通过点击编辑按钮,可以切换到编辑模式,然后使用el-input组件来编辑对应的字段。点击编辑按钮时,会触发toggleEdit方法,该方法会切换编辑状态并保存编辑后的值。
阅读全文