vue-列表下文字的的展开与折叠

         

  • 功能描述

1、默认显示两行数据,点击时展示全部数据

2、点击A项,A展开,之后有两种情况:①再次点击A,A折叠;②点击其他项,如B,这时B展开,A折叠

  • 解决方式

1、使用bottom来定义默认样式,使用bottom2来定义展开样式,通过切换class来设置展开与折叠时文字内容的样式

<div 
    :class="[showDetail!=index? bottom:bottom2]" 
    @click="foldAndUnfold(index,item)"> 
        {{item.dutyRecord}} 
</div>
data():{
    return{
        showDetail:-1,      //记录点击项的小标
        bottom:'bottom',    //类
        bottom2:'bottom2'   
    }
}
.bottom{
    ...
    over-flow:hidden;
    text-overflow:ellipsis;
    display:-weblit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.bottom2{
    ...
}

2、使用showDetail(默认设置为-1)与index(循环数据项的索引值)做比较:

①showMaterial默认为-1,第一次任意点击A,当前A对象展开,showMaterial=index=0,此时有两种情况:

// 情况1,再次点击A,showMaterial===index,A关闭,showMaterial=-1

// 情况2,点击A以外的其他对象C,先关闭A,在打开当前对象C,showMaterial=index=2

foldAndUnfold(index,item){
    if(this.showDetail===index){//两次点击的对象相同,关闭
        this.showDetail = -1
    }else{//点击的对象不同,先关闭前一对象,再打开当前对象
        this.showDetail = index
    }
}

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue 3 和 Element Plus 的组合中,要实现侧边栏折叠的效果,可以使用`el-menu`作为根节点,并结合`el-menu-item`和`el-submenu`来构建菜单栏。 首先,在模板中使用`el-menu`作为整个菜单的容器,并设置`collapse`属性来控制侧边栏的折叠状态。当`collapse`为`true`时,侧边栏折叠文字会隐藏。当`collapse`为`false`时,侧边栏展开文字会显示。 ```html <template> <el-menu :collapse="isCollapse"> <!-- 菜单项 --> <el-menu-item index="1">菜单项1</el-menu-item> <el-menu-item index="2">菜单项2</el-menu-item> <!-- 子菜单 --> <el-submenu index="3"> <template #title> 子菜单 </template> <el-menu-item index="3-1">子菜单项1</el-menu-item> <el-menu-item index="3-2">子菜单项2</el-menu-item> </el-submenu> </el-menu> </template> ``` 然后,在data中定义一个`isCollapse`变量来控制折叠状态的切换。通过点击按钮或其他交互方式,修改`isCollapse`的值来实现侧边栏的折叠展开。 ```javascript <script> export default { data() { return { isCollapse: true, // 初始化折叠状态为true,侧边栏默认折叠 }; }, }; </script> ``` 需要注意的是,`el-menu`标签本身希望里面嵌套的是`el-menu-item`、`el-submenu`、`el-menu-item-group`其中之一。因此,我们要根据菜单的结构来合理使用这些标签。 通过上述方法,你可以实现在Vue 3 和 Element Plus 中的侧边栏折叠效果。根据`el-menu`的属性设置和交互操作来控制侧边栏的折叠展开状态,从而实现文字的隐藏和显示效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佛佛ง

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值