uniapp里文本的展开与收起

方法一:简单省事

先看效果图:

再看vue代码:

<template>
   <view class="container">
      <!--  简介 -->
      <view class="evaluateItem" v-for="(item, index) in list" :key="index">
      
         <view class="evaluateText" :class="{lineclamp3:item.contentAll}"> {{item.content}} </view>
         <view class="" v-if="item.isMore">
            <view class="rightText" v-if="item.contentAll" @click="changeAllFun(item, index)">全部</view>
            <view class="rightText" v-else @click="changeAllFun(item, index)">收起</view>
         </view>
      </view>
   </view>
</template>
 
<script>
   export default {
      name: "evaluateList",
      data() {
         return {
            list: [
               {
                  content: '《流浪地球》是由中国电影股份有限公司、北京京西文化旅游股份有限公司、郭帆文化传媒(北京)有限公司、北京登峰国际文化传播有限公司联合出品,由郭帆执导,吴京特别出演、屈楚萧、赵今麦、李光洁、吴孟达等领衔主演的科幻冒险电影。影片根据刘慈欣的同名小说改编,故事背景设定在2075年,讲述了太阳即将毁灭,已经不适合人类生存,而面对绝境,人类将开启“流浪地球”计划,试图带着地球一起逃离太阳系,寻找人类新家园的故'
               }
            ]
         };
      },
      created() {
      	this.getlist()
      },
      onLoad() {
         this.getlist()
      },
      methods: {
         getlist() {
            this.list.forEach(item => {
               if (item.content.length > 40) {
                  item.isMore = true
                  item.contentAll = true
               } else {
                  item.isMore = false
                  item.contentAll = false
               }
            })
         },
         changeAllFun(item, index) {
            let list = JSON.parse(JSON.stringify(this.list));
            list.forEach((elem, ind) => {
               if (index === ind) {
                  elem.contentAll = !elem.contentAll
               }
            })
            this.list = list
         }
      }
 
   }
</script>
 
<style scoped>
   .container {
      width: 100vw;
      font-size: 12px;
      min-height: 100vh;
      display: inline-block;
      color: #1d1d1d;
      position: relative;
      background: #F1F1F1;
   }
   .evaluateItem {
      background-color: #FFFFFF;
      padding: 15px;
      border-radius: 10px;
      margin: 10px 15px 0 15px;
   }
   .evaluateText {
      margin: 10px 0 0 0;
      letter-spacing: 0.5px;
      line-height: 20px;
   }
   .lineclamp3 {
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      white-space: normal;
   }
 
   .rightText {
      color: #4399FC;
      text-align: right;
   }
 
</style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值