真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

詳解Vue.jsiview實現(xiàn)樹形權(quán)限表(可擴展表)

問題:

網(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)基本如下

詳解Vue.js iview實現(xiàn)樹形權(quán)限表(可擴展表)

前面2個object和第三個結(jié)構(gòu)基本類似,將數(shù)據(jù)注入authlist,匹配listcolumns展示

詳解Vue.js iview實現(xiàn)樹形權(quán)限表(可擴展表)

詳解Vue.js iview實現(xiàn)樹形權(quán)限表(可擴展表)

展示結(jié)果如下:

詳解Vue.js iview實現(xiàn)樹形權(quán)限表(可擴展表)        

第二步,添加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)]);
  }
},

展示效果:

詳解Vue.js iview實現(xiàn)樹形權(quán)限表(可擴展表)

第三步:authtable_expand.vue子組件,基本和父組件的Table一致

< template >