Home

Awesome

Codacy Badge codecov All Contributors Build Status Greenkeeper badge Known Vulnerabilities License: MIT npm FOSSA Status

vue-simple-drawer

TODO

Install

npm install vue-simple-drawer --save

Quick Start

<template>
  <div id="app">
    <button @click="toggle">toggle</button>
    <Drawer @close="toggle" align="left" :closeable="true">
      <div v-if="open">content here</div>
    </Drawer>
  </div>
</template>

<script>
import Drawer from "vue-simple-drawer"
export default {
  name: "app",
  data() {
    return {
      open: true
    }
  },
  components: {
    Drawer
  },
  methods: {
    toggle() {
      this.open = !this.open
    }
  }
}
</script>

Prop Types

PropertyTypeRequired?Description
alignStringOne of "left", "up", "right", "down", default is 'right'. the location of the drawer.
closeableBooleanshow the x - close button, default true
maskBooleanshow the mask layer - close button, default true
maskClosableBooleanemit 'close' event when click on mask layer, default: false
zIndexNumberz-index value for the drawer, the nest drawer's z-index will be increased automatically, default is 1000

Events

EventParamsRequired?Description
closeNonewill be triggered when user click the x close button

Slot

Slot NameDescription
defaultthe content display in the drawer which can show/hide the draw by v-if

Advance Guide

Nest Drawer

   <button @click="toggle">Open/Close</button>
    <Drawer @close="toggle" :align="align" :closeable="true">
      <div v-if="open">
        <span @click="innerOpen=true">
          content here
          content here
          content here
          content here
          content here
          content here
          content here
        </span>
        <Drawer @close="innerOpen=false" :align="align" :closeable="true">
          <div v-if="innerOpen">
            content here
            content here
            content here
          </div>
        </Drawer>
      </div>
    </Drawer>

    ...

      data() {
        return {
          open: false,
          innerOpen: false,
          align: "left"
        };
      },

Customized Theme

$--simple-drawer-close-width: 50px;
@import "~vue-simple-drawer/src/index";
import "./demo.scss";

variables

close button style

close button size

drawer background

drawer text color

License

FOSSA Status

Contributors

Thanks goes to these wonderful people (emoji key):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore --> <table><tr><td align="center"><a href="https://dreambo8563.github.io/"><img src="https://avatars2.githubusercontent.com/u/6948318?v=4" width="100px;" alt="Vincent Guo"/><br /><sub><b>Vincent Guo</b></sub></a><br /><a href="https://github.com/dreambo8563/vue-simple-drawer/commits?author=dreambo8563" title="Code">💻</a> <a href="https://github.com/dreambo8563/vue-simple-drawer/commits?author=dreambo8563" title="Documentation">📖</a> <a href="#infra-dreambo8563" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td></tr></table> <!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the all-contributors specification. Contributions of any kind welcome!