Home

Awesome

<span> <img src="https://badge.fury.io/js/vue-js-toggle-button.svg"> </span> <span> <img src="https://img.shields.io/npm/dm/vue-js-toggle-button.svg"> </span>

Vue.js toggle/switch button.

<p align="right"> <a href="https://www.buymeacoffee.com/yev" target="_blank"> <img width="140" alt="Get a coffee" src="https://user-images.githubusercontent.com/1577802/36840220-21beb89c-1d3c-11e8-98a4-45fc334842cf.png"> </a> </p> <p align="center"> <img src="http://i.imgur.com/a2Hf7pm.png"> </p>

Live demo here

Install

npm install vue-js-toggle-button --save

Import

Import plugin:

import ToggleButton from 'vue-js-toggle-button'

Vue.use(ToggleButton)

OR

Import component:

import { ToggleButton } from 'vue-js-toggle-button'

Vue.component('ToggleButton', ToggleButton)

Use

<toggle-button @change="onChangeEventHandler"/>

<toggle-button v-model="myDataVariable"/>

<toggle-button :value="false"
               color="#82C7EB"
               :sync="true"
               :labels="true"/>

<toggle-button :value="true"
               :labels="{checked: 'Foo', unchecked: 'Bar'}"/>

Properties

NameTypeDefaultDescription
valueBooleanfalseInitial state of the toggle button
syncBooleanfalseIf set to true, will be watching changes in value property and overwrite the current state of the button whenever value prop changes
speedNumber300Transition time for the animation
disabledBooleanfalseButton does not react on mouse events
color[String, Object]#75C791If String - color of the button when checked <br>If Object - colors for the button when checked/unchecked or disabled<br>Example: {checked: '#00FF00', unchecked: '#FF0000', disabled: '#CCCCCC'}
css-colorsBooleanfalseIf true - deactivates the setting of colors through inline styles in favor of using CSS styling
labels[Boolean, Object]falseIf Boolean - shows/hides default labels ("on" and "off") <br>If Object - sets custom labels for both states. <br>Example: {checked: 'Foo', unchecked: 'Bar'}
switch-color[String, Object]#BFCBD9If String - color or background property of the switch when checked <br>If Object - colors or background property for the switch when checked/uncheked <br>Example: {checked: '#25EF02', unchecked: 'linear-gradient(red, yellow)'}
widthNumber50Width of the button
heightNumber22Height of the button
marginNumber3Space between the switch and background border
nameStringundefinedName to attach to the generated input field
font-sizeNumberundefinedFont size

Events

NameDescription
changeTriggered whenever state of the component changes. <br>Contains: <br>value - state of the object <br>srcEvent - source click event
inputInput event for v-model

SSR

Include plugin in your nuxt.config.js file:

module.exports = {
  plugins: ['~plugins/vue-js-toggle-button']
}

And your plugins/vue-js-toggle-button.js will look like:

import Vue from 'vue'
import Button from 'vue-js-toggle-button'

Vue.use(Button)

Browser compatibility