問題:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了秀嶼免費建站歡迎大家使用!
需要一個可折疊的權(quán)限管理系統(tǒng),用表格展示。
主要用的iView組件庫,有Table(表格),Tree(樹形控件),Collapse(折疊面板)看起來比較符合意思
深入查看Table相關(guān)范例,發(fā)現(xiàn)有個 通過給 columns
數(shù)據(jù)設(shè)置一項,指定 type: 'expand'
,即可開啟擴展功能 可以考慮
但也只是展開詳細內(nèi)容,如需樹形結(jié)構(gòu),則需要render自定義去渲染,挺麻煩的。再去看看element UI,也沒有什么比較好的選擇。
過程:
第一步,先構(gòu)建根節(jié)點的數(shù)據(jù)表,后臺返回JSON數(shù)據(jù)解析(www.json.cn)基本如下
前面2個object和第三個結(jié)構(gòu)基本類似,將數(shù)據(jù)注入authlist,匹配listcolumns展示
展示結(jié)果如下:
第二步,添加Columns的擴展expand功能,在listcolumns里添加
listcolumns: [{ title: '序號', key: '_index', className: 'index_css', render: (h, params) = >{ return h('div', [h('span', { style: { display: 'inline-block', width: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', textAlign: 'center' } }, params.row._index)]); } }, { //添加的expand type: 'expand', width: 20, render: (h, params) = >{ return h(expandRow, { style: { padding: 0 }, props: { row: params.row } }) } }, { title: '權(quán)限名稱', key: 'Title', className: 'Title_css', ellipsis: true, render: (h, params) = >{ return h('div', [h('span', { style: { display: 'inline-block', width: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' } }, params.row.Title)]); } },
展示效果:
第三步:authtable_expand.vue子組件,基本和父組件的Table一致
< template >