在uniapp中 富文本点击查看更多,如果内容超多出3行显示,未超过隐藏,显示所有富文本内容
时间: 2024-04-15 14:31:01 浏览: 60
在 `uni-app` 中实现富文本点击查看更多的功能可以使用 `v-html` 指令来渲染富文本内容,并结合 `@click` 事件来切换展开/收起状态。以下是一个示例代码:
```html
<template>
<div>
<div v-html="showContent"></div>
<div v-if="isShowMore" @click="toggleMore">
<span v-if="isExpanded">收起</span>
<span v-else>查看更多</span>
</div>
</div>
</template>
<script>
export default {
data() {
return {
content: '这是一段富文本内容...',
isExpanded: false,
maxLines: 3,
};
},
computed: {
showContent() {
if (this.isExpanded) {
return this.content;
} else {
const lines = this.content.split('\n');
if (lines.length > this.maxLines) {
const truncatedContent = lines.slice(0, this.maxLines).join('\n');
return truncatedContent + '...';
} else {
return this.content;
}
}
},
isShowMore() {
const lines = this.content.split('\n');
return lines.length > this.maxLines;
},
},
methods: {
toggleMore() {
this.isExpanded = !this.isExpanded;
},
},
};
</script>
```
在上述示例中,`content` 是富文本内容,`maxLines` 是最大显示行数。通过计算文本行数和切割文本来实现展开/收起的效果,并根据展开状态显示不同的按钮文案。当文本行数超过最大行数时,使用省略号来表示截断的富文本内容。
你可以根据你的实际需求修改示例代码中的内容和样式。希望对你有帮助!
阅读全文