数据源tableData: [ { name: 'John', age: 25, gender: 'Male' }, { name: 'Jane', age: 30, gender: 'Female' }, // 其他行数据 ],给一个el-table的完整Demo,界面age属性需调用一个方法乘以0.5,el-table内容可编辑,可选择下拉框,
时间: 2024-04-15 07:28:24 浏览: 91
ember-data-table:遵循Google设计规范的Ember数据表
下面是一个完整的 Element UI 的表格(el-table)的示例,其中内容可编辑,可选择下拉框,并且界面的 `age` 属性会调用一个方法乘以 0.5:
```html
<template>
<div>
<el-table :data="tableData" :show-summary="false">
<el-table-column prop="name" label="Name" :editable="true">
<template slot-scope="scope">
<span v-if="scope.row !== editingRow">{{ scope.row.name }}</span>
<el-input v-else v-model="scope.row.name"></el-input>
</template>
</el-table-column>
<el-table-column prop="age" label="Age" :editable="true">
<template slot-scope="scope">
<span v-if="scope.row !== editingRow">{{ calculateAge(scope.row.age) }}</span>
<el-input v-else v-model.number="scope.row.age"></el-input>
</template>
</el-table-column>
<el-table-column prop="gender" label="Gender" :editable="true">
<template slot-scope="scope">
<span v-if="scope.row !== editingRow">{{ scope.row.gender }}</span>
<el-select v-else v-model="scope.row.gender">
<el-option label="Male" value="Male"></el-option>
<el-option label="Female" value="Female"></el-option>
</el-select>
</template>
</el-table-column>
<!-- 其他列定义 -->
<el-table-column label="Actions">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.row)">Edit</el-button>
<el-button @click="handleSave(scope.row)" v-if="scope.row === editingRow">Save</el-button>
<el-button @click="handleCancel(scope.row)" v-if="scope.row === editingRow">Cancel</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: 'John', age: 25, gender: 'Male' },
{ name: 'Jane', age: 30, gender: 'Female' },
// 其他行数据
],
editingRow: null // 正在编辑的行,默认为null
};
},
methods: {
calculateAge(age) {
return age * 0.5; // 将年龄乘以0.5
},
handleEdit(row) {
this.editingRow = row;
},
handleSave(row) {
// 处理保存编辑的逻辑,例如发送请求保存数据到后端
this.editingRow = null; // 清除编辑状态
},
handleCancel(row) {
// 处理取消编辑的逻辑,例如恢复原始数据
this.editingRow = null; // 清除编辑状态
}
}
};
</script>
```
在这个示例中,`calculateAge` 方法用于将 `age` 属性乘以 0.5,并在表格中显示计算后的值。在编辑状态下,可以修改 `age` 的值。其他部分与之前的示例相同。
注意:这只是一个简单的示例,你可能需要根据自己的实际需求进行修改和扩展,如增加校验、验证等功能。
阅读全文