当前位置:   article > 正文

vue实现数据超出单行显示更多,点击展开剩余数据_vuejs数据超出单行显示更多,点击展开剩余数据实例

vuejs数据超出单行显示更多,点击展开剩余数据实例

效果图

1.当数据过长时的效果

 

 2.数据不超过一行时的效果

原理:利用文本撑开的高度和单行时的高度进行判断,文本内容是否过长,需要隐藏

代码实现

html代码

  1. <div class="checkitem">
  2. <div class="info">
  3. <div>
  4. <span class="txtinfos">启用文件检测</span>
  5. <el-switch width="35" v-model="valuetel"></el-switch>
  6. </div>
  7. <span class="spanp">
  8. <p>
  9. 启用文件检测功能将会严重影响系统功能,请谨慎评估后选择
  10. </p>
  11. <p>
  12. 目前支持类型
  13. </p>
  14. <p class="txttype" ref="txttype" :class="hidetext==true?'hidetext':''">
  15. <span>
  16. Word 2003 / Word 2007 / Word 2010 / Excel 2003 / Excel 2007 / Excel 2010 / PowePoint 2003 / PowePoint 2007 / Word 2003 / Word 2007 / Word 2010 / Excel 2003 / Excel 2007 / Excel 2010 / PowePoint 2003 / PowePoint 2007 /
  17. </span>
  18. <a class="more" v-if="nomore" @click="lookmore">{{moretext}}<i :class="hidetext==false?'el-icon-arrow-up':'el-icon-arrow-down'"></i></a>
  19. </p>
  20. <p>备注:以上文件为未加密文件类型</p>
  21. </span>
  22. </div>
  23. </div>

部分css

  1. .txttype{
  2. letter-spacing: 0.5px;line-height: 20px;
  3. position: relative;
  4. }
  5. .hidetext{
  6. position: relative;
  7. height: 20px;
  8. overflow: hidden;
  9. span{
  10. display: block;
  11. width: calc(100% - 100px);
  12. }
  13. }

js代码

在data里定义数值

  1. data() {
  2. return {
  3. moretext:'查看更多',
  4. nomore:true,
  5. hidetext:false,
  6. }
  7. }

 在mounted中获取高度

  1. mounted(){
  2. //通过ref获取对应dom节点的高度,注意20为单行时的高度
  3. let hei = this.$refs.txttype.clientHeight;
  4. //当获取的高度大于20时,即当前文本为多行,设置添加收起文本的class,
  5. //当获取的高度等于20时,隐藏查看更多按钮
  6. if(hei>20){
  7. this.hidetext = true
  8. this.nomore = true
  9. }else if(hei==20){
  10. this.nomore = false
  11. }
  12. },

点击查看更多的方法

  1. methods:{
  2. //查看更多
  3. lookmore(){
  4. this.hidetext = !this.hidetext
  5. this.moretext = this.hidetext==true?'查看更多':'收起'
  6. },
  7. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/76796
推荐阅读
相关标签
  

闽ICP备14008679号