欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue-列表下詳情的展開與折疊案例

 更新時間:2020年07月28日 15:29:24   作者:佛佛ง  
這篇文章主要介紹了vue-列表下詳情的展開與折疊案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

功能描述

1、默認折疊,點擊時展示全部數據

2、點擊A項,A展開,之后有兩種情況:①再次點擊A,A折疊;②點擊其他項,如B,這時B展開,A折疊

解決方式

1、給展開折疊圖標添加一個樣式,顯示成動畫效果

<div class="arrow" :class="{'open':showDetail === index}"></div>
.arrow{
 position absolute
 width: 0.6rem;
 height: 0.3rem;
 top 2.0rem
 right 0.8rem
 background url(../../../assets/images/icon_up.png) no-repeat
 background-size: 100% 100%
 transition: transform 0.3s
 -webkit-transition: transform 0.3s
 &.open{
 transform : rotate(-180deg)
 }
}

2、詳情樣式

<transition-group class="expert-detail" tag="div" mode="">
 <div v-for="i in 1" :key="i" class="detail" :ref="`stateopen${index}`" v-show="showDetail===index">
...
 </div>
</transition-group>

3、方法詳情

// 展開與折疊
// 分析:
// 1,showDetail默認為-1,第一次任意點擊B,當前B對象展開,showDetail=index=n,此時有兩種情況:
// 情況1,再次點擊B,showDetail===index,B關閉,showDetail=-1
// 情況2,點擊B以外的其他對象C,先關閉B,在打開當前對象C
foldAndUnfold(index,item){
 if(this.showDetail===index){//兩次點擊的對象相同,關閉
 this.showDetail = -1
 }else{//點擊的對象不同,先關閉前一對象,再打開當前對象
 this.showDetail = index
 }
}

補充知識: Vue table 點擊按鈕展開折疊面板

vue 實現(xiàn)的 table 折疊展開功能,由于工作中用到,這里把相應代碼整理下,方便自己日后 Copy

1.Html 部分

由基本的 table 表單與折疊欄部分組成

PS:table 上需要加上 ref,以便方法中能夠獲取到 table 屬性

<!-- 注意:el-table 上加一個 ref="table" -->
 <el-table ref="table" :data="list" border style="width: 100%; margin-top:20px; min-height:700px">
  <el-table-column align="center" label="編號">
  <template slot-scope="scope">
   <span>{{ id }}</span>
  </template>
  </el-table-column>
 
  <el-table-column align="center" label="姓名">
  <template slot-scope="scope">
   <span>{{ name }}</span>
  </template>
  </el-table-column>
 
  <el-table-column label="操作" width="300" align="center" prop="operation">
  <template slot-scope="scope">
   <el-button plain @click="toogleExpand(scope.row)">詳情</el-button>
  </template>
  </el-table-column>
 
  <!-- 展開部分 -->
  <el-table-column type="expand" width="1">
  <template slot-scope="props">
   <el-form label-position="left" inline class="demo-table-expand">
   <!-- 參數列表 -->
   <el-form-item label="1111" label-width="100%">
    aaa
   </el-form-item>
   </el-form>
 
  </template>
  </el-table-column>
 </el-table>

2. vue 的 JS 部分

 <script>
 export default {
  data() {
  return {
   list: [{
   id: '1',
   name: '王小1',
   }, {
   id: '2',
   name: '王小2',
   }, {
   id: '3',
   name: '王小3',
   }, {
   id: '4',
   name: '王小4',
   }]
  }
  },
  
  methods: {
  // 展開行效果
  toogleExpand(row) {
   const $table = this.$refs.table
   // 注意,這里的 this.list 是上面 data 中的 list
   // 通過比對數據與行里的數據,對展開行進行控制,獲取對應值
   this.list.map((item) => {
   if (row.id !== item.id) {
    $table.toggleRowExpansion(item, false)
   }
   })
   $table.toggleRowExpansion(row)
  },
  }
 }
 </script>

3.css 部分

這里除了基本的屬性外,主要我發(fā)現(xiàn)展開欄部分會有空白各自部分,還能拖開,因此加屬性把多余部分給隱藏掉

下方有注釋

<style>
 /* 展開行樣式 */
 .demo-table-expand {
 font-size: 0;
 }
 .demo-table-expand label {
 width: 90px;
 color: #99a9bf;
 }
 .demo-table-expand .el-form-item {
 margin-right: 0;
 margin-bottom: 0;
 width: 100%;
 }
 .el-form-item__content {
 width: 100%;
 }
 /* 隱藏上方表格多余部分 */
 .undefined.el-table__expand-column {
 display: none;
 }
 /* 隱藏上方表格多余部分 */
 .el-table_1_column_8 .el-table--border td, .el-table--border th, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed {
 border-right: 0px solid #ebeef5
 }
</style>

4.效果圖

這個效果圖是我后面補的,但是功能是以上面來做的

以上這篇vue-列表下詳情的展開與折疊案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 如何解決Element-ui的el-table固定列后出現(xiàn)的表格錯位問題

    如何解決Element-ui的el-table固定列后出現(xiàn)的表格錯位問題

    這篇文章主要介紹了如何解決Element-ui的el-table固定列后出現(xiàn)的表格錯位問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • vue-cli4如何打包靜態(tài)資源到指定目錄

    vue-cli4如何打包靜態(tài)資源到指定目錄

    這篇文章主要介紹了vue-cli4打包靜態(tài)資源到指定目錄方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • el-date-picker時間清空值為null處理方案

    el-date-picker時間清空值為null處理方案

    本文介紹關于Vue.js項目中時間選擇器組件的問題,當選擇后清空導致值變?yōu)閚ull,進而引發(fā)后臺接口報錯,通過監(jiān)聽`overallForm.time`的值并設置為空數組,成功解決此問題,確保了數據正確性,同時,建議避免直接監(jiān)聽整個對象以優(yōu)化性能,感興趣的朋友一起看看吧
    2024-08-08
  • el-descriptions引入代碼中l(wèi)abel不生效問題及解決

    el-descriptions引入代碼中l(wèi)abel不生效問題及解決

    這篇文章主要介紹了el-descriptions引入代碼中l(wèi)abel不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue3-vite安裝后main.ts文件和tsconfig.app.json文件報錯解決辦法

    vue3-vite安裝后main.ts文件和tsconfig.app.json文件報錯解決辦法

    Vue.js是一個流行的JavaScript框架,它可以幫助開發(fā)者構建交互式Web應用程序,這篇文章主要給大家介紹了關于vue3-vite安裝后main.ts文件和tsconfig.app.json文件報錯解決辦法,需要的朋友可以參考下
    2023-12-12
  • vue2如何實現(xiàn)vue3的teleport

    vue2如何實現(xiàn)vue3的teleport

    這篇文章主要介紹了vue2如何實現(xiàn)vue3的teleport,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 一篇文章,教你學會Vue CLI 插件開發(fā)

    一篇文章,教你學會Vue CLI 插件開發(fā)

    這篇文章主要介紹了Vue CLI插件開發(fā),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Vue跳轉頁面的幾種常用方法總結

    Vue跳轉頁面的幾種常用方法總結

    在Vue.js中,頁面跳轉是構建單頁面應用(SPA)的基本操作之一,本文將介紹Vue中實現(xiàn)頁面跳轉的幾種方法,并通過實例代碼幫助理解每種方法的用法,需要的朋友可以參考下
    2024-09-09
  • vue部署后靜態(tài)文件加載404的解決

    vue部署后靜態(tài)文件加載404的解決

    這篇文章主要介紹了vue部署后靜態(tài)文件加載404的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue登錄攔截 登錄后繼續(xù)跳轉指定頁面的操作

    Vue登錄攔截 登錄后繼續(xù)跳轉指定頁面的操作

    這篇文章主要介紹了Vue登錄攔截 登錄后繼續(xù)跳轉指定頁面的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論