# vue-ellipsis **Repository Path**: wangankeji-fe/vue-ellipsis ## Basic Information - **Project Name**: vue-ellipsis - **Description**: 基于 Vue2 的自定义文本省略支持 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 25 - **Forks**: 4 - **Created**: 2019-07-11 - **Last Updated**: 2024-12-10 ## Categories & Tags **Categories**: vue-extensions **Tags**: None ## README # vue-ellipsis 基于 Vue2 的自定义文本省略支持。 示例: http://hyjiacan.gitee.io/vue-ellipsis ## 安装 ```bash yarn add @hyjiacan/vue-ellipsis ``` or ```bash npm install @hyjiacan/vue-ellipsis ``` ## 用法 ```javascript import ellipsis from '@hyjiacan/vue-ellipsis' Vue.use(ellipsis) ``` 或 ```javascript import {ellipsisDirective, ellipsisComponent} from '@hyjiacan/vue-ellipsis' // 注册为指令 Vue.directive(ellipsisDirective.name, ellipsisDirective) // 注册为组件 Vue.component(ellipsisComponent.name, ellipsisComponent) // 使用上面的其中一种用法就行了 ``` 你需要通过CSS指定宽度 ```css .ellipsis-style { width: 200px; } .ellipsis-style { max-width: 200px; } ``` 或通过 `STYLE` ```html
``` - 指令示例 [./src/views/DirectiveDemo.vue](./src/views/DirectiveDemo.vue) - 组件示例 [./src/views/ComponentDemo.vue](./src/views/ComponentDemo.vue) ## 指令 `v-ellipsis` 的值表示显示的行数,默认值为 `1` > Since 1.2.0 当指定了 `scale` 修饰时,值格式为 `{min: 0, max: 40}`,表示的就不再是行数,而是允许缩放的文字大小范围。 ### 修饰符 | 名称 | 描述 | |--------|--------------------------------------------| | start | 使用前置省略模式 | | middle | 使用中置省略模式 | | end | 后置省略模式 | | always | 不论是否被省略,**始终**显示 `title` | | none | 不论是否被省略,**始终不**显示 `title` | | scale | 自动缩放(`font-size`)文本以适应容器宽度, 此时 **不会** 省略文本 | - 修饰符 `start`, `middle`, `end` 是互斥的,只能指定其中一个,默认为 `end` - 修饰符 `always`, `none` 是互斥的,只能指定其中一个,留空时表示在省略时自动设置 `title`,相当于组件中的 `auto` ### 属性 | 名称 | 默认值 | 描述 | |---------------|-------|----------------| | data-ellipsis | `...` | 填充文本(代替默认的省略号) | | data-delay | `200` | 表示处理的延时(毫秒) | ## 组件 ### 属性 | 名称 | 类型 | 默认值 | 描述 | |------------|------------------------------|-------|-----------------------------------------------------| | fill | String | `...` | 省略时的默认填充串 | | position | String | end | 省略位置,可选值: `start`, `middle`, `end` | | show-title | String | - | 是否显示 `title`,可选值: `always`, `none` | | rows | Number | `1` | 显示的行数 | | scale | Boolean\|`{min: 0, max: 40}` | false | 自动缩放(`font-size`)文本以适应容器宽度, 此时 **不会** 省略文本 | | content | String | end | 设置文本内容,此时会忽略槽 `default` | ### 插槽 | 名称 | 描述 | |---------|----| | default | 内容 | ## 常见问题 1. 问: 为什么容器设置了 `padding` 为百分比时,显示异常? 答: 暂不支持 `padding` 为百分比 ## 待办 - [ ] 优化 `middle` 的显示方式,尽量将填充放在容器中间,而不是两侧按字符数量处理