This is a react component of the http://www.bootstraptoggle.com/ project.
You need to include the bootstrap css file and also the bootstrap2-toggle css file in your app.
If you are using the npm version then you can include it from the module like this.
<link rel="stylesheet" href="node_modules/lib/bootstrap2-toggle.css">
Or you could import it to your SASS or LESS build.
@import "node_modules/lib/bootstrap2-toggle.css";
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import Toggle from 'react-bootstrap-toggle';
class Form extends Componentn {
constructor() {
super();
this.state = { toggleActive: false };
this.onToggle = this.onToggle.bind(this);
}
onToggle() {
this.setState({ toggleActive: !this.state.toggleActive });
}
render() {
return (
<form>
<SomeInput something={true} />
.....
<Toggle
onClick={this.onToggle}
on={<h2>ON</h2>}
off={<h2>OFF</h2>}
size="large"
offstyle="danger"
active={this.state.toggleActive}
/>
</form>
)
}
}
npm install react-bootstrap-toggle --save
Name | Type | Default | Description |
---|---|---|---|
active | boolean | true | Sets the initial state of the toggle |
on | string/html | "On" | Text of the on toggle |
off | string/html | "Off" | Text of the off toggle |
size | string | "normal" | Size of the toggle. Possible values are large , normal , small , mini . |
onstyle | string | "primary" | Style of the on toggle. Possible values are default , primary , success , info , warning , danger |
offstyle | string | "default" | Style of the off toggle. Possible values are default , primary , success , info , warning , danger |
width | integer | null | Sets the width of the toggle. if set to null, width will be calculated. |
height | integer | null | Sets the height of the toggle. if set to null, height will be calculated. |
onClick | function | null | A Callback that returns the current state of the toggle |
If you want to use bootstrap two class names you can import the component like this
import { Bootstrap2Toggle } from 'react-bootstrap-toggle';
Now the component will use large instead of lg and etc..