文本省略号后面加上展开/收起

想要获取省略文本高度来达到是否显示“展开”这个按键

网上很多就说使用ref获取这个文本的dom

然后就开始 this.$refs.isopencontent.clientHeight 和this.$refs.isopencontent.scrollHeight 

我弄了很久,发现这可能不适合我 ???

我的文本是动态的,点击别的按钮会变内容

那么就需要 this.$nextTick(()=>{})去包裹我的判断  注意!!这里需要操作dom, 应该是等待 Vue 完成更新 DOM之后

 

watch:{

"我的文本内容":function(){

        this.$nextTick(() => { // <<==这个是解决动态文本的关键,渲染完毕之后才可以获取他的高度

          let multi =  this.$refs.isopencontent //获取这个喜欢动的文本dom

          if (multi.scrollHeight > multi.clientHeight) {

            this.showbtn =true // 展开显示

          }else{

            this.showbtn =false //展开不显示

          }

        })

}

 

 <div class="pannel-show">

                   <div class="title">{{pannelshow.name}}主要服务包括:</div>

                   <div class="content"> <span  ref="isopencontent"  :class="{hide:!isopen}">{{pannelshow.content}}</span>

                   <div class="right" v-show="showbtn" ><span class="sl" v-show="!isopen">...</span>           <span class="open" @click="isopen=!isopen" >{{isopen?'收起':'展开'}}</span></div>

                   </div>

                </div>  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值