# vue-slideout **Repository Path**: hyjiacan/vue-slideout ## Basic Information - **Project Name**: vue-slideout - **Description**: 一个 Vue2/3 的侧滑组件 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 49 - **Forks**: 16 - **Created**: 2019-03-03 - **Last Updated**: 2024-06-26 ## Categories & Tags **Categories**: vue-extensions **Tags**: None ## README # Slideout [![NPM](https://img.shields.io/npm/l/@hyjiacan/vue-slideout?style=flat-square)](https://github.com/hyjiacan/vue-slideout/blob/master/LICENSE) [![Travis (.org)](https://img.shields.io/travis/hyjiacan/vue-slideout?style=flat-square)](https://www.travis-ci.org/hyjiacan/vue-slideout) [![npm (scoped)](https://img.shields.io/npm/v/@hyjiacan/vue-slideout?style=flat-square)](https://www.npmjs.com/package/@hyjiacan/vue-slideout) ![npm bundle size (scoped)](https://img.shields.io/bundlephobia/min/@hyjiacan/vue-slideout?style=flat-square) [![npm](https://img.shields.io/npm/dm/@hyjiacan/vue-slideout?style=flat-square)](https://npmcharts.com/compare/@hyjiacan/vue-slideout?minimal=true) [![Coverage Status](https://coveralls.io/repos/github/hyjiacan/vue-slideout/badge.svg?branch=master)](https://coveralls.io/github/hyjiacan/vue-slideout?branch=master) [![jsdelivr](https://data.jsdelivr.com/v1/package/npm/@hyjiacan/vue-slideout/badge)](https://www.jsdelivr.com/package/npm/@hyjiacan/vue-slideout) 一个 Vue3 的侧滑组件 ## 依赖 - Vue.js 3.x - Less ## 安装 ### Node 环境 (commonjs) ```bash npm i @hyjiacan/vue-slideout@3 ``` 或 ```bash yarn add @hyjiacan/vue-slideout@3 ``` 你若想要兼容 Vue.js 2.x,那么使用版本 `@hyjiacan/vue-slideout@2`。 可以通过以下方式获取最新代码: ```bash git clone https://github.com/hyjiacan/vue-slideout.git ``` 或 [下载归档](https://github.com/hyjiacan/vue-slideout/archive/master.zip) ### 浏览器环境 (umd) 与 node 环境一样, 此时会暴露一个全局 `Slideout`。 使用最新版本 ```html ``` 使用指定版本 ```html ``` > **unpkg** 也可以使用: 替换 *cdn.jsdelivr.net* 为 *unpkg.com* > 可以通过替换 *slideout.umd.min.js* 为 *slideout.umd.js* 使用未被压缩的文件来 ## 使用 ### 全局引用 (推荐) *main.js* ```javascript import Vue from 'vue' import Slideout from '@hyjiacan/vue-slideout' import '@hyjiacan/vue-slideout/dist/slideout.css' // 引入 Slideout 组件,并设置组件默认值 Vue.use(Slideout, { // 在此处填写默认的属性值 }) ``` ### 组件内引用 *Foobar.vue* ```html ``` - 更多的用法,参见 http://hyjiacan.gitee.io/vue-slideout - API文档参见 [API.zh-CN.md](./API.zh-CN.md) 马上到 [CodePen][codepen] [codepen]: https://codepen.io/hyjiacan/pen/LYRZONE ## 开发 ```bash yarn # 启动服务器 yarn serve # 构建仓库 yarn release ``` ## 已知问题 ### 溢出问题 情景:当指定了属性 `offset` ,`size` 的高度参数为 `0` (自动适应高度), 并且 `dock=left/right` 时, 内容太高会导致溢出(无滚动条)。 解决方案:显式地给内容指定最大高度为确定的值(注意,不要超出可见区域),如: ```html
``` 其中的 `max-height: 540px;overflow: auto` 即可解决此问题。 `max-height` 可以通过 js 计算得到。 > 注意: 可能还需要考虑监听 `window.resize` 事件,以适应浏览器大小的变化。