动态显示和隐藏列的 Vue 组件 — 让你的表格“变身”!
<template>
<div>
<button v-for="column in columns" :key="column" @click="toggleColumn(column)">
{{ column }}
</button>
<table>
<thead>
<tr>
<th v-for="column in displayedColumns" :key="column">
{{ column }}
</th>
</tr>
</thead>
<tbody>
<tr v-for="row in rows" :key="row.id">
<td v-for="column in displayedColumns" :key="column">
{{ row[column] }}
</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
data() {
return {
columns: ['Name', 'Age', 'Email', 'Country'],
displayedColumns: ['Name', 'Age'],
rows: [
{ id: 1, Name: 'Alice', Age: 30, Email: 'alice@example.com', Country: 'USA' },
{ id: 2, Name: 'Bob', Age: 24, Email: 'bob@example.com', Country: 'UK' },
// ...
],
};
},
methods: {
toggleColumn(column) {
const index = this.displayedColumns.indexOf(column);
if (index === -1) {
this.displayedColumns.push(column);
} else {
this.displayedColumns.splice(index, 1);
}
},
},
};
</script>
这个简单的 Vue 组件包含了一个按钮列表,允许用户点击来显示或隐藏表格中的列。toggleColumn
方法会根据列是否已经显示在 displayedColumns
数组中来添加或移除列。这个例子展示了如何使用 Vue 来创建一个用户可以自定义的表格组件。
评论已关闭