最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue ElementUI中el-table表格嵌套樣式問題小結(jié)

 更新時間:2024年02月18日 11:13:05   作者:Lemon今天學(xué)習(xí)了嗎  
這篇文章主要介紹了Vue ElementUI中el-table表格嵌套樣式問題小結(jié),兩個表格嵌套,當(dāng)父表格有children數(shù)組時子表格才展示,對Vue ElementUI中el-table表格嵌套樣式問題感興趣的朋友跟隨小編一起看看吧

一、表格嵌套要求:

  • 兩個表格嵌套,當(dāng)父表格有children數(shù)組時子表格才展示;
  • 子表格數(shù)據(jù)少于父表格展示字段,且對應(yīng)固定操作列不同;

二、嵌套問題:

當(dāng)使用el-table的type='expand'實現(xiàn)表格嵌套時,樣式出現(xiàn)以下問題:

  • 展開圖標(biāo)每條數(shù)據(jù)都展示了,實際上接口數(shù)據(jù)并不是都有children數(shù)組;
  • 在表格嵌套后,打開子表格,高亮顯示在經(jīng)過子表格后對應(yīng)不上;
  • 父表格的操作列固定在右側(cè)影響了子表格的顯示;
  • 滑動到表格底部時,父子表格的固定列對不齊;

修改前效果如下:

修改后效果如下:

三、代碼實現(xiàn):

1、表格定義唯一值row-key="indexId"和類名:row-class-name="getRowClass"

  <el-table
	:row-class-name="getRowClass"
	ref="table"
	v-loading="tableLoading"
	size="mini"
	height="100%"
	:data="tableData"
	row-key="indexId"
	tooltip-effect="dark"
	:header-cell-style="{
	  background: '#f5f7fa',
	  fontWeight: 'bold',
	  color: '#303133'
	}"
	@expand-change="expandChange"
	border
  >
	<el-table-column type="expand">
	  <template slot-scope="props">
		<!-- 表格嵌套第二層 -->
		<el-table
		  ref="sonTable"
		  :style="{
			height: `${(props.row.children.length + 1) * 36 + 1}px`,
			width: '100%'
		  }"
		  row-key="indexId"
		  :data="props.row.children"
		  tooltip-effect="dark"
		  :header-cell-style="{
			background: '#f5f7fa',
			fontWeight: 'bold',
			color: '#303133'
		  }"
		  border
		>    
            <!-- 子表格字段 -->
            <el-table-column> XXX </el-table-column>
        </el-table>
         <!-- 父表格字段 -->
         <el-table-column> XXX </el-table-column>
    </el-table>

2、類名判斷

    // 表格類名方法
    getRowClass({ row, rowIndex }) {
      // 把每一行的索引放進(jìn)row
      row.index = rowIndex
      // 判斷當(dāng)前行是否有子數(shù)據(jù)
      if (
        row.children === null ||
        row.children === undefined ||
        row.children.length === 0
      ) {
        return 'row-hidden-expand-icon'
      } else {
        return 'row-show-icon'
      }
    },

3、表格樣式

<style lang="scss" scoped>
// 子表格覆蓋右側(cè)fix
::v-deep .el-table__body-wrapper {
  .el-table__expanded-cell {
    z-index: 100;
  }
}
// 有子表格才顯示展開箭頭
:deep(.row-hidden-expand-icon) {
  td {
    &:first-child {
      .el-icon {
        visibility: hidden;
      }
    }
    .el-table__expand-icon {
      pointer-events: none;
    }
  }
}
// 去掉表格的第三、第四個單元格出現(xiàn)的展開圖標(biāo)
:deep(.el-table__row) {
  .el-table__cell {
    &:nth-child(3),
    &:nth-child(4) {
      .el-table__expand-icon {
        pointer-events: none;
        display: none;
      }
    }
  }
}
// 子表格樣式
:deep(.el-table__expanded-cell) {
  padding: 10px !important;
}
// 修復(fù)hover高亮不同步
::v-deep .el-table__body tr.hover-row > td.el-table__cell {
  background-color: transparent;
}
::v-deep .el-table .el-table__row:hover {
  background-color: #f5f7fa;
}
::v-deep .el-table__expanded-cell:hover {
  background-color: transparent;
}
// 修復(fù)滾到下面對不齊
::v-deep .el-table__fixed-body-wrapper .el-table__body {
  padding-bottom: 12px;
}
// 使得每一行都為36px高度
::v-deep .row-show-icon {
  td {
    &:first-child {
      .cell {
        height: 24px;
      }
    }
  }
}
:deep(.el-table .el-table__cell) {
  height: 36px !important;
}
</style>

到此這篇關(guān)于Vue ElementUI中el-table表格嵌套樣式問題的文章就介紹到這了,更多相關(guān)Vue ElementUI中el-table表格嵌套內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解uniapp的生命周期

    詳解uniapp的生命周期

    這篇文章主要介紹了uniapp的生命周期,應(yīng)用生命周期是指應(yīng)用程序從啟動到關(guān)閉的整個過程,包括應(yīng)用程序的啟動、前后臺切換、退出等,需要的朋友可以參考下
    2023-04-04
  • vuejs+element UI table表格中實現(xiàn)禁用部分復(fù)選框的方法

    vuejs+element UI table表格中實現(xiàn)禁用部分復(fù)選框的方法

    今天小編就為大家分享一篇vuejs+element UI table表格中實現(xiàn)禁用部分復(fù)選框的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • Vue組件通信的四種方式匯總

    Vue組件通信的四種方式匯總

    這篇文章主要給大家介紹了關(guān)于Vue組件通信的四種方式,分別是父子組件通信、非父子組件的eventBus通信、利用localStorage或者sessionStorage以及利用Vuex等方法,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 分分鐘玩轉(zhuǎn)Vue.js組件(二)

    分分鐘玩轉(zhuǎn)Vue.js組件(二)

    這篇文章教大家如何分分鐘玩轉(zhuǎn)Vue.js組件,完善了vue.js組件的學(xué)習(xí)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue中復(fù)用vuex.store對象的定義

    vue中復(fù)用vuex.store對象的定義

    這篇文章主要介紹了vue中復(fù)用vuex.store對象的定義,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue3中addEventListener的用法詳解

    vue3中addEventListener的用法詳解

    vue3中定義全局指令時,往往會碰到一個問題:事件無法解綁,為什么會這樣,因為通常在指令的mounted鉤子中綁定事件,事件處理函數(shù)也定義在mounted中,本文講給大家講講vue3中addEventListener的妙用,需要的朋友可以參考下
    2023-08-08
  • Vue3?實現(xiàn)一個自定義toast?小彈窗功能

    Vue3?實現(xiàn)一個自定義toast?小彈窗功能

    這篇文章主要介紹了Vue3?實現(xiàn)一個自定義toast?小彈窗,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • vue-cli的eslint相關(guān)用法

    vue-cli的eslint相關(guān)用法

    本篇文章主要介紹了vue-cli的eslint相關(guān)用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue中改變選中當(dāng)前項的顯示隱藏或者狀態(tài)的實現(xiàn)方法

    vue中改變選中當(dāng)前項的顯示隱藏或者狀態(tài)的實現(xiàn)方法

    下面小編就為大家分享一篇vue中改變選中當(dāng)前項的顯示隱藏或者狀態(tài)的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue2中watch的用法(通俗易懂,簡單明了)

    vue2中watch的用法(通俗易懂,簡單明了)

    這篇文章主要給大家介紹了關(guān)于vue2中watch用法的相關(guān)資料,通過watch監(jiān)聽器,我們可以實時監(jiān)控數(shù)據(jù)的變化,并且在數(shù)據(jù)發(fā)生改變時進(jìn)行相應(yīng)的操作,需要的朋友可以參考下
    2023-09-09

最新評論

苏尼特右旗| 淳化县| 浦城县| 凯里市| 尤溪县| 元阳县| 福建省| 徐汇区| 财经| 吉首市| 普兰店市| 皮山县| 论坛| 怀化市| 武邑县| 商城县| 辽中县| 浮梁县| 珠海市| 汉中市| 太和县| 玉门市| 清流县| 调兵山市| 浪卡子县| 宁化县| 修水县| 郎溪县| 山西省| 页游| 井研县| 庄浪县| 治县。| 两当县| 澜沧| 邓州市| 东安县| 万安县| 东丽区| 汤阴县| 景德镇市|