国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:2日期:2022-12-24 18:54:25

如下所示:

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

功能描述

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

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

解決方式

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

<div :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 tag='div' mode=''> <div v-for='i in 1' :key='i' :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,在打開當前對象CfoldAndUnfold(index,item){ if(this.showDetail===index){//兩次點擊的對象相同,關閉 this.showDetail = -1 }else{//點擊的對象不同,先關閉前一對象,再打開當前對象 this.showDetail = index }}

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

vue 實現的 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 label='編號'> <template slot-scope='scope'> <span>{{ id }}</span> </template> </el-table-column> <el-table-column label='姓名'> <template slot-scope='scope'> <span>{{ name }}</span> </template> </el-table-column> <el-table-column label='操作' 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 部分

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

下方有注釋

<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-列表下詳情的展開與折疊案例

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

標簽: Vue
相關文章:
主站蜘蛛池模板: 亚洲看片网站 | 在线播放另类 | 国产婷婷一区二区三区 | 亚洲国产精品自产拍在线播放 | 国产韩国精品一区二区三区久久 | 一级毛片免费在线播放 | 在线视频 亚洲 | 新26uuu在线亚洲欧美 | aaa大片 | 国产亚洲精品一区999 | 高清一级毛片免免费看 | 色综合久久88色综合天天提莫 | 亚洲精品视频区 | 综合久久久久久久 | 国产日韩线路一线路二 | 久久久这里只有精品免费 | 亚洲一级毛片中文字幕 | 亚洲图片视频在线观看 | 日本一级大黄毛片免费基地 | 免费观看一级成人毛片 | 欧美午夜性春猛交 | 国产一区二区三区成人久久片 | 综合中文字幕 | 一区二区三区免费视频 www | 精品无码一区在线观看 | 高清视频 一区二区三区四区 | 中文国产成人精品久久96 | 大胆gogo999亚洲肉体艺术 | 三级视频在线播放线观看 | 免费看成人www的网站软件 | 午夜性片| 亚洲国产视频网 | 国产毛片久久久久久国产毛片 | 日本国产在线视频 | 亚洲性欧美 | 成人三级做爰在线观看男女 | 一级啊片 | 免费精品99久久国产综合精品 | 一级在线观看视频 | 国产精品国内免费一区二区三区 | 99久久99久久精品免费看子伦 |