使用vue和element-ui,实现一个列表和A按钮,B按钮,列表有假数据组成,需求:比如假数据 默认有十列el-table-column 分别label是数字1-10 prop 是one-ten,逻辑点击B按钮隐藏其中四列el-table-column 比如 2,3,7,9,且展示label为 1,11,12,4,5,6,13,8,14,10 el-table-column,点击A按钮恢复默认十列1-10的数据,请用具体代码展示
时间: 2024-03-13 17:45:16 浏览: 53
好的,下面是使用Vue和Element UI实现该需求的代码:
```html
<template>
<div>
<el-button type="primary" @click="toggleColumns">B按钮</el-button>
<el-button @click="resetColumns">A按钮</el-button>
<el-table :data="tableData" :columns="columns"></el-table>
</div>
</template>
<script>
export default {
data() {
return {
columns: [
{ label: '数字1', prop: 'one' },
{ label: '数字2', prop: 'two' },
{ label: '数字3', prop: 'three' },
{ label: '数字4', prop: 'four' },
{ label: '数字5', prop: 'five' },
{ label: '数字6', prop: 'six' },
{ label: '数字7', prop: 'seven' },
{ label: '数字8', prop: 'eight' },
{ label: '数字9', prop: 'nine' },
{ label: '数字10', prop: 'ten' }
],
tableData: [
{ one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9, ten: 10 },
{ one: 11, two: 12, three: 13, four: 14, five: 15, six: 16, seven: 17, eight: 18, nine: 19, ten: 20 },
{ one: 21, two: 22, three: 23, four: 24, five: 25, six: 26, seven: 27, eight: 28, nine: 29, ten: 30 }
],
hiddenColumns: ['two', 'three', 'seven', 'nine']
}
},
methods: {
toggleColumns() {
if (this.hiddenColumns.length === 4) {
this.columns = this.columns.filter(col => !this.hiddenColumns.includes(col.prop))
this.hiddenColumns = []
} else {
this.hiddenColumns = ['two', 'three', 'seven', 'nine']
this.columns = this.columns.filter(col => !this.hiddenColumns.includes(col.prop))
}
},
resetColumns() {
this.hiddenColumns = []
this.columns = [
{ label: '数字1', prop: 'one' },
{ label: '数字2', prop: 'two' },
{ label: '数字3', prop: 'three' },
{ label: '数字4', prop: 'four' },
{ label: '数字5', prop: 'five' },
{ label: '数字6', prop: 'six' },
{ label: '数字7', prop: 'seven' },
{ label: '数字8', prop: 'eight' },
{ label: '数字9', prop: 'nine' },
{ label: '数字10', prop: 'ten' }
]
}
}
}
</script>
```
在上面的代码中,我们使用了Element UI中的`<el-table>`和`<el-button>`组件来实现列表和按钮的展示。具体实现逻辑如下:
- 初始时,`columns`数组包含了数字1-10的列信息,`tableData`数组包含了假数据。
- 当点击B按钮时,会执行`toggleColumns`方法,该方法会根据`hiddenColumns`数组中的信息来判断当前应该显示哪些列。如果`hiddenColumns`数组为空,则说明当前显示的是所有列,此时我们需要将`columns`数组中不包含数字2、3、7、9的列信息重新赋值给`columns`;否则,说明当前显示的是除了数字2、3、7、9以外的所有列,此时我们需要将`columns`数组中不包含这四个数字对应的列信息重新赋值给`columns`。
- 当点击A按钮时,会执行`resetColumns`方法,该方法会将`hiddenColumns`数组清空,并将`columns`数组重新赋值为数字1-10的列信息。
阅读全文