diff --git a/src/views/datatable/DataTableColToggleDemo.vue b/src/views/datatable/DataTableColToggleDemo.vue
index dd726047f..f252cec84 100755
--- a/src/views/datatable/DataTableColToggleDemo.vue
+++ b/src/views/datatable/DataTableColToggleDemo.vue
@@ -11,11 +11,12 @@
-
+
-
+
@@ -27,11 +28,12 @@
<DataTable :value="cars">
<template #header>
<div style="text-align:left">
- <MultiSelect v-model="columns" :options="columnOptions" optionLabel="header" placeholder="Select Columns" style="width: 20em"/>
+ <MultiSelect :value="selectedColumns" :options="columns" optionLabel="header" @input="onToggle"
+ placeholder="Select Columns" style="width: 20em"/>
</div>
</template>
<Column field="vin" header="Vin" />
- <Column v-for="col of columns" :field="col.field" :header="col.header" :key="col.field"></Column>
+ <Column v-for="col of selectedColumns" :field="col.field" :header="col.header" :key="col.field"></Column>
</DataTable>
@@ -42,8 +44,8 @@ import CarService from '../../service/CarService';
export default {
data() {
return {
+ selectedColumns: null,
columns: null,
- columnOptions: null,
cars: null
}
},
@@ -56,11 +58,15 @@ export default {
{field: 'brand', header: 'Brand'},
{field: 'color', header: 'Color'}
];
-
- this.columnOptions = [...this.columns];
+ this.selectedColumns = this.columns;
},
mounted() {
this.carService.getCarsSmall().then(data => this.cars = data);
+ },
+ methods: {
+ onToggle(value) {
+ this.selectedColumns = this.columns.filter(col => value.includes(col));
+ }
}
}
@@ -72,11 +78,12 @@ export default {
\ No newline at end of file