【Taro开发】-文字展开收起组件(十五)
创始人
2024-05-29 08:49:13
0

Taro小程序开发

系列文章的所有文章的目录

【Taro开发】-初始化项目(一)

【Taro开发】-路由传参及页面事件调用(二)

【Taro开发】-taro-ui(三)

【Taro开发】-带token网络请求封装(四)

【Taro开发】-自定义导航栏NavBar(五)

【Taro开发】-formData图片上传组件(六)

【Taro开发】-封装Form表单组件和表单检验(七)

【Taro开发】-tabs标签页及子组件的下拉刷新(八)

【Taro开发】-简易的checkBoxGroup组件(九)

【Taro开发】-页面生成二维码及保存到本地(十)

【Taro开发】-宣传海报,实现canvas实现圆角画布/图片拼接二维码并保存(十一)

【Taro开发】-分享给好友/朋友圈(十二)

【Taro开发】-小程序自动打包上传并生成预览二维码(十三)

【Taro开发】-全局自定义导航栏适配消息通知框位置及其他问题(十四)


文章目录

  • Taro小程序开发
  • 前言
  • 1.组件代码
  • 2.使用


前言

基于Taro的微信小程序开发,主要组件库为Taro-ui
实现多行文字时可展开收起
在这里插入图片描述
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

1.组件代码

import Taro from "@tarojs/taro";
import { Component } from "react";
import { Text, View } from "@tarojs/components";
import classNames from "classnames";
import "./index.scss";
import { getSystemInfo, stylePerInJs } from "@/utils/util";let globalSystemInfo = getSystemInfo();
class TextShow extends Component {constructor() {super();this.state = {showAll: true,showFoldBtn: false};}componentDidMount() {this.props.text && this.handleTextHight();}handleTextHight = () => {Taro.createSelectorQuery().select(`.textShow-content-text${this.props.index || 0}`).boundingClientRect().exec(res => {if (!res[0])setTimeout(() => {this.handleTextHight();}, 500);else {let height = res[0].height;if (parseInt(height / (globalSystemInfo.screenWidth / 750)) > 150) {this.setState({showAll: false,showFoldBtn: true});}}});};handleFoldText = () => {this.setState({showAll: !this.state.showAll});};render() {const { showAll, showFoldBtn } = this.state;const { text, index } = this.props;return ({ paddingBottom: !showAll ? 40 : 0 }}>classNames(`textShow-content-text${index || 0}`,"font-26-sm",{"textShow-content-text-less": !showAll})}>{text}{showAll && this.props.children}{showFoldBtn && (() => {this.handleFoldText();}}style={{position: showAll ? "relative" : "absolute"}}>{showAll ? "收起" : "展开"}{!showAll && {">>"}})});}
}export default TextShow;
@import '@/styles/variables.scss';
.textShow{position: relative;.textShow-content-text-less {display: -webkit-box;overflow: hidden;text-overflow: ellipsis;word-wrap: break-word;white-space: normal !important;-webkit-line-clamp: 4; /*! autoprefixer: ignore next */-webkit-box-orient: vertical;}.operate-text-btn {font-size: $font-size-lg;display: flex;flex-direction: column;justify-content: center;align-items: center;background: $color-white;opacity: 0.6;position: absolute;width: 100%;bottom: 10px;}.down{transform: rotate(90deg);width: 40px;}}

2.使用

'12232424141'} index={0}>

相关内容

热门资讯

智慧吴江app安卓系统,安卓系... 你知道吗?最近吴江地区掀起了一股智慧风潮,一款名为“智慧吴江app”的应用在安卓系统上大受欢迎。这款...
苹果系统听歌app安卓,跨平台... 你有没有发现,无论是走在街头还是坐在家里,音乐总是能瞬间点燃我们的心情?而在这个音乐无处不在的时代,...
安卓系统卡顿根源,性能瓶颈与优... 手机用久了是不是感觉越来越卡?是不是每次打开应用都要等半天,甚至有时候直接卡死?别急,今天就来跟你聊...
电脑系统怎么装安卓系统,电脑系... 你有没有想过,把安卓系统装在你的电脑上,是不是就像给电脑穿上了时尚的新衣呢?想象你可以在电脑上直接使...
安卓系统华为手环app,健康管... 你有没有发现,现在的生活越来越离不开智能设备了?手机、平板、手表……这些小玩意儿不仅让我们的生活变得...
switch lite刷安卓系... 你有没有想过,你的Switch Lite除了玩那些可爱的任天堂游戏,还能干些什么呢?没错,今天我要给...
想买华为但是安卓系统,尽享安卓... 最近是不是也被华为的新款手机给迷住了?看着那流畅的线条和强大的性能,是不是心动了呢?但是,一想到安卓...
怎么拷安卓系统文件,安卓系统文... 你有没有想过,手机里的那些安卓系统文件,其实就像是一扇通往手机世界的秘密通道呢?想要深入了解你的安卓...
安卓系统移植按键失灵,安卓系统... 最近你的安卓手机是不是也遇到了按键失灵的尴尬情况呢?这可真是让人头疼啊!别急,今天就来给你详细解析一...
安卓系统更新管理在哪,全面解析... 你有没有发现,你的安卓手机最近是不是总在提醒你更新系统呢?别急,别急,今天就来手把手教你,安卓系统更...
安卓系统哪里出的,从诞生地到全... 你有没有想过,我们每天离不开的安卓系统,它究竟是从哪里冒出来的呢?是不是觉得这个问题有点儿像是在问星...
最好的电脑安卓系统,最佳电脑安... 亲爱的电脑迷们,你是否在寻找一款既能满足你工作需求,又能让你畅享娱乐的电脑操作系统呢?今天,我要给你...
安卓系统保密性,守护隐私的坚实... 你知道吗?在这个信息爆炸的时代,保护个人隐私变得比以往任何时候都重要。尤其是对于安卓系统用户来说,了...
苹果系统下载安卓版本,安卓版本... 你有没有想过,为什么苹果系统的手机那么受欢迎,却还有人想要下载安卓版本呢?这背后可是有着不少故事呢!...
安卓系统如何下载carplay... 你是不是也和我一样,对安卓系统上的CarPlay功能充满了好奇?想象在安卓手机上就能享受到苹果Car...
退回安卓系统的理由,揭秘安卓系... 你有没有想过,为什么有些人会选择退回到安卓系统呢?这可不是一件简单的事情,背后可是有着不少原因哦!让...
安卓机系统互通吗,共创智能生态 你有没有想过,你的安卓手机里的应用和电脑上的安卓应用是不是可以无缝对接呢?是不是有时候觉得手机上的某...
安卓源码 添加系统应用,系统应... 你有没有想过,手机里的那些系统应用是怎么来的?是不是觉得它们就像天外来物,神秘又神奇?其实,只要你愿...
安卓系统能否播放flv,全面解... 你有没有想过,你的安卓手机里那些珍贵的FLV视频文件,到底能不能顺利播放呢?这可是个让人挠头的问题,...
奔驰c系安卓系统,智能驾驶体验... 你有没有发现,最近开奔驰C系的小伙伴们都在悄悄地谈论一个新玩意儿——安卓系统!没错,就是那个我们手机...