A multiselect component for react (with bootstrap). This is a react port of:
-
Install the module with:
npm install --save react-bootstrap-multiselect
-
Create your module (you need to use something like browserify to build)
var React = require('react');
var Multiselect = require('react-bootstrap-multiselect');
var someReactComponent = React.createClass({
render: function () {
return (
<Multiselect />
);
}
});
- Include the multi-select CSS in your project somewhere. The CSS file is here: bootstrap-multiselect.css (don't hotlink- download and host your own copy)
<link rel="stylesheet" href="bootstrap-multiselect.css" type="text/css" />
In case this.state.myData
changes from outside of multiselect component, values and checkbox state will not update automatically. If you want to sync state, you have to call .syncData()
on multiselect like in example below.
var React = require('react');
var Multiselect = require('react-bootstrap-multiselect');
var someReactComponent = React.createClass({
getInitialState: function(){
var that = this;
$("element").on("event", function(){
$.get("new-data-from-url", function(newData){
that.setState(newData);
// to sync manually do
this.refs.myRef.syncData();
});
});
return {
myData : [{value:'One',selected:true},{value:'Two'}]
};
},
render: function () {
return (
<Multiselect onChange={this.handleChange} ref="myRef" data={this.state.myData} multiple />
);
}
});
For in depth documentation, see the original bootstrap-multiselect project page.
Copyright (c) 2014 skratchdot
Uses the original bootstrap-multiselect license.