日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

表格html5 隐藏字段,element-ui表格组件table实现列的动态显示与隐藏

發布時間:2023/12/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 表格html5 隐藏字段,element-ui表格组件table实现列的动态显示与隐藏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,寫一個基礎的表格。(參考element-ui基礎表格)

export default {

data() {

return {

tableData: [

{

date: "2016-05-02",

name: "王小虎",

address: "上海市普陀區金沙江路 1518 弄",

},

{

date: "2016-05-04",

name: "王小虎",

address: "上海市普陀區金沙江路 1517 弄",

},

{

date: "2016-05-01",

name: "王小虎",

address: "上海市普陀區金沙江路 1519 弄",

}

],

};

},

};

然后,優化模板。

將表格的列數據tableColumns定義在data中,在模板中通過v-for指令遍歷列數據。

v-for="column in tableColumns"

:key="column.prop"

:prop="column.prop"

:label="column.label"

>

export default {

data() {

return {

tableColumns: [

{

prop: "date",

label: "日期",

},

{

prop: "name",

label: "姓名",

},

{

prop: "address",

label: "地址",

},

],

};

},

};

其次,優化列數據tableColumns,給每一個column添加show屬性,用于表示列的顯示與隱藏。默認為true,即默認展示所有列。

export default {

data() {

return {

tableColumns: [

{

prop: "date",

label: "日期",

show: true

},

{

prop: "name",

label: "姓名",

show: true

},

{

prop: "address",

label: "地址",

show: true

},

],

};

},

};

再次,添加一個computed屬性bindTableColumns,用于過濾出需要展示的列,并綁定到模板上。

這樣,后續對列的配置都只會操作tableColumns中列的顯示與隱藏屬性show,bindTableColumns會自動更新,頁面也會自動重新渲染。

v-for="column in bindTableColumns"

:key="column.prop"

:prop="column.prop"

:label="column.label"

>

export default {

computed: {

bindTableColumns() {

return this.tableColumns.filter((column) => column.show);

}

}

};

然后,實現表格列配置模板,用于設置列的顯示與隱藏。

這里使用一組復選框,默認選中所有可供配置的表格列。

請選擇表格需要展示的列:

v-for="column in columns"

:key="column.prop"

:label="column.prop"

>{{ column.label }}

>

export default {

computed: {

/* 這里使用了getter和setter,這樣寫的好處是不用自己手動監聽復選框的選中事件 */

checkedTableColumns: {

get() {

// 返回選中的列名

return this.bindTableColumns.map(column => column.prop);

},

set(checked) {

// 設置表格列的顯示與隱藏

this.tableColumns.forEach(column => {

// 如果選中,則設置列顯示

if(checked.includes(column)) {

column.show = true;

} else {

// 如果未選中,則設置列隱藏

column.show = false;

}

})

}

}

}

}

總結

以上是生活随笔為你收集整理的表格html5 隐藏字段,element-ui表格组件table实现列的动态显示与隐藏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。