首页 > 其他分享 >uniapp自定义富文本现实组件(支持查看和收起)

uniapp自定义富文本现实组件(支持查看和收起)

时间:2024-07-04 10:57:30浏览次数:18  
标签:uniapp 自定义 data maxHeight height 组件 overflow true size

废话不多说上代码

CollapseText.vue



<template>
	<view v-if="descr">
		<scroll-view class="collapse-text" :style="{maxHeight: computedMaxHeight}">
			<!-- <slot></slot> -->
			<rich-text :nodes="descr"></rich-text>
		</scroll-view>
		<view class="lookcount" @click="handleViewAll">
			{{operateText}}
			<image v-if="show" src="../../static/[email protected]" mode=""></image>
			<image v-else src="../../static/[email protected]" mode=""></image>
		</view>
	</view>
</template>

<script>
	export default {
		name: "CollapseText",
		props: {
			maxHeight: {
				default: 230
			},
			descr: ''
		},
		data() {
			return {
				overflow: false,
				show: false,
				operateText: '查看全部'
			};
		},
		computed: {
			computedMaxHeight() {
				return (!this.maxHeight || this.show || !this.overflow) ? null : this.maxHeight + 'rpx'
			}
		},
		mounted() {
			const query = uni.createSelectorQuery().in(this);
			query.select('.collapse-text').fields({
				rect: true,
				scrollOffset: true,
				size: true
			}, data => {
				this.overflow = data.height <= data.scrollHeight
			}).exec();

		},
		methods: {
			handleViewAll() {
				this.show = !this.show
				this.operateText = this.show ? '收起' : '查看全部'
			}
		}
	}
</script>

<style>
	.collapse-text {
		overflow: hidden;
	}

	.lookcount {
		height: 88rpx;
		font-size: 24rpx;
		color: #646464;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.lookcount image {
		width: 32rpx;
		height: 32rpx;
		margin-left: 4rpx;
	}
</style>

用法

首先导入

 剩下就是直接在用template了

 最后样式补上

这里方便复制

.navcount {
		width: 686rpx;
		font-size: 28rpx;
		color: #646464;
		line-height: 40rpx;
		max-height: 300rpx;
		overflow: hidden;

	}

大功告成 

标签:uniapp,自定义,data,maxHeight,height,组件,overflow,true,size
From: https://blog.csdn.net/qq_41733851/article/details/140173756

相关文章

  • Docker自定义网络的好处
    docker基础(19):Docker网络之自定义网络_docker创建自定义网络-CSDN博客docker0网络特点他是默认的域名访问不通(有些应用是需要配置域名,或许写死ip配置就不够灵活)–link域名通了,但是删除了又不行docker--link容器互联_dockerlink-CSDN博客 简单点说,自定义网络的好处是不用......
  • 【uniapp】使用举例 radio控件与data()内数据绑定
     page.vue<template><checkbox-group@change="checkboxChange"><labelclass="flex-container"v-for="iteminitems":key="item.value"style="align-items:center;">......
  • 自定义Python工具箱实现mdb转出为shp或gdb格式----终章(工具免费)
    一、内容提示        前边几篇文章,介绍了mdb地理数据库结构解析、mdb转出为shp示例,以及mdb转为gdb的几种技术路线探讨,并未对mdb转出为shp、或gdb格式进行完整实现。        为了方便使用,并支持更加复杂的使用场景,小编已将前边几篇文章中的内容进行集成,将mdb......
  • 深度长文解析SpringWebFlux响应式框架15个核心组件源码
    SpringWebFlux介绍SpringWebFlux是SpringFramework5.0版本引入的一个响应式Web框架,它与SpringMVC并存,提供了一种全新的编程范式,支持异步非阻塞的Web应用开发。WebFlux完全基于响应式编程模型,支持ReactiveStreams规范,可以在诸如Netty、Undertow以及Servlet......
  • uniapp h5部署二级目录
    uniapp部署二级目录在uniapp中,如果你想要将应用部署到二级目录中,你需要在manifest.json文件中配置相应的二级目录路径。以下是一个配置示例,假设你想要将应用部署到域名的subdir二级目录下:打开manifest.json文件。找到h5节点。设置router的base路径为你的二级......
  • Vue技巧大揭秘:自定义指令的力量与应用
    引言自定义指令就像是给予开发者的一把魔法钥匙,它能够打开DOM操作的新世界,按我的理解就是把对DOM操作的逻辑进行封装全局注册与局部注册全局注册定义: 全局注册意味着自定义指令在Vue实例创建之前通过Vue.directive()方法注册,一旦注册,就可以在任意组件的模板中使用该指令。......
  • [大疆航线] 系列(2) 基于KML或WPML文件的航点动作设计与自定义航线
    关键词:无人机航线、航点动作、kml航线文件,wpml航线软件作者:ludwig1860日期:2024.7.31.KML的高级使用如果需要精准控制每个航点以及航点处的动作,就需要对KML文件进行调整。怎么调整呢?从DJIPilot地面站软件中自行编辑一个满足自己所有调整需求的航线(仅包含几个航点即可,目......
  • 微信小程序-组件样式隔离
    一.isolatedisolated是自定义组件.js的options对象字段styleIsolation的默认值,表示自定义组件和组件使用者之间的样式相互独立,互不影响。写法:options:{//isolated默认值,开启样式隔离,使用者和自定义组件的样式相互不影响styleIsolation:"isolated"}二.app......
  • uniapp和flask实现跨域请求
      新书上架~......
  • java使用sshd 实现sftp 自定义显示目录
       pom.xml<dependencies><dependency><groupId>cn.hutool</groupId><artifactId>hutool-core</artifactId><version>5.8.28</version></dependency>......