Vue 实现在文本溢出后浮现Tooltip、及文本展开收起效果

34 篇文章 0 订阅
2 篇文章 0 订阅

目录

示例: 

1. expandable模式(默认) - 文本展开收起效果:

2. tooltip模式 - 文本使用Tooltip效果:

3. tooltipExpandable模式 - 文本同时使用Tooltip和展开收起效果:

API

​​​​​​Content Attributes

Tooltip Attributes 

Slot

代码资源:vue-paragraph - npm


示例: 

1. expandable模式(默认) - 文本展开收起效果:

<Paragraph
  content="使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例"
  :max-lines="1"
  :content-width="400"
/>

2. tooltip模式 - 文本使用Tooltip效果:

  • 文本超出后,显示T​​​​​ooltip
文本超出后,显示T​​​​​ooltip
<Paragraph
  content="使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例"
  :max-lines="1"
  :content-width="400"
  type="tooltip"
/>

  •  文本未超出,不显示T​​​​​ooltip
文本未超出,不显示T​​​​​ooltip
<Paragraph
  content="使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例"
  :max-lines="3"
  :content-width="400"
  type="tooltip"
/>

3. tooltipExpandable模式 - 文本同时使用Tooltip和展开收起效果:

<Paragraph
  content="使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例使用示例"
  :max-lines="1"
  :content-width="400"
  type="tooltipExpandable"
/>

API

Content Attributes

参数说明类型可选值默认值

content

显示的内容,也可以通过 slot 传入 DOMString必填

maxLines

最多展示的行数

String, Number3

unfoldText

展开按钮文本

String

展开

foldText

收起按钮文本

String收起

textStyle

展开收起按钮样式

String

color: #1890ff;

type

组件类型

String

expandable / tooltip / tooltipExpandable 

请看【示例】

expandable

contentWidth

内容宽度String, Number

tooltipAttrs

提示工具条属性ObjectTooltip Attributes 

Tooltip Attributes 

widthtooltip宽度String, Number最小宽度 150px
effect默认提供的主题Stringdark/lightdark
placement出现位置Stringtop / top-start / top-end / bottom / bottom-start / bottom-end / left / left-start / left-end / right / right-start / right-endtop
disabledTooltip 是否可用Booleanfalse
value / v-model状态是否可见Booleanfalse
offset出现位置的偏移量Number0
transition定义渐变动画Stringfade-in-linear
visible-arrow是否显示 Tooltip 箭头,更多参数可见Vue-popperBooleantrue
popper-optionspopper.js 的参数Object参考 popper.js 文档{ boundariesElement: 'body', gpuAcceleration: false }
popper-class为 popper 添加类名String
open-delay触发方式为 hover 时的显示延迟,单位为毫秒Number
close-delay触发方式为 hover 时的隐藏延迟,单位为毫秒number200
tabindexPopover 组件的 tabindexnumber0

Slot

参数说明
Popover 内嵌 HTML 文本
reference触发 Popover 显示的 HTML 元素

代码资源:vue-paragraph - npm

$ npm install vue-paragraph
import Paragraph from 'vue-paragraph'
Vue.use(Paragraph)
  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
Vue实现多行文本展开收起功能可以通过计算多行文本的高度来进行判断,并使用Vue的条件渲染来实现展开收起效果。 首先,在data中定义一个变量,例如`isExpanded`,用于控制文本展开收起状态,默认值设为`false`。 然后,在模板中使用条件渲染来根据`isExpanded`的值展示不同的内容。 例如,使用`v-if`指令来判断是否展开,如果展开则显示完整文本,否则只显示指定行数的文本。可以使用`v-text`指令来绑定文本内容。通过CSS的`line-clamp`属性来设置文本行数,超出的部分将被省略。 ``` <template> <div> <div v-if="isExpanded"> <div v-text="text"></div> </div> <div v-else> <div class="clamp-line" v-text="text"></div> </div> <button @click="toggleExpand"> {{ isExpanded ? '收起' : '展开' }} </button> </div> </template> <script> export default { data() { return { isExpanded: false, text: "这是一段多行文本" }; }, methods: { toggleExpand() { this.isExpanded = !this.isExpanded; } } }; </script> <style scoped> .clamp-line { display: -webkit-box; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; /* 设置为需要显示的行数 */ -webkit-box-orient: vertical; } </style> ``` 以上代码中,点击按钮时会触发`toggleExpand`方法,通过修改`isExpanded`的值来切换展开收起状态。根据`isExpanded`的值,使用不同的模板来渲染文本内容。 按钮的文本内容也根据`isExpanded`的值来显示“展开”或“收起”。点击按钮时,会调用`toggleExpand`方法切换`isExpanded`的值。 通过以上代码和样式设置,就可以实现一个简单的多行文本展开收起的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__畫戟__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值