popbean-react
Version:
let me think about something,comming soon...
63 lines (62 loc) • 1.61 kB
JSX
var React = require('react');
var Modal = React.createClass({
getDefaultProps:function(){
return {
title:'这都不干'
};
},
getInitialState:function(){
return {
display:'none'
};
},
render:function(){
var style = {
display:this.state.display
};
var modal_dialog_style = {
"overflow-y":"initial !important"
};
var modal_body_style={
"overflow-y":"auto"
};
var actions = this.props.actions || [];
return (
<div className="modal" style={style}>
<div className="modal-dialog" style={modal_dialog_style}>
<div className="modal-content">
<div className="modal-header">
<button type="button" className="close" data-dismiss="modal" aria-label="Close" onClick={this.hide}><span aria-hidden="true">×</span></button>
<h4 className="modal-title">{this.props.title}</h4>
</div>
<div className="modal-body" style={modal_body_style}>
{this.props.children}
</div>
<div className="modal-footer">
{
actions.map(function(act){
return (
<button type="button" className={"btn "+act.icon} data-dismiss="modal" onClick={act.handler}>{act.label}</button>
);
})
}
</div>
</div>
</div>
</div>
);
},
show:function(){
this.setState({display:'block'});
},
hide:function(){
this.setState({display:'none'});
},
isPop:function(){//是否为打开的
if(this.state.display == 'block'){
return true;
}
return false;
}
});
module.exports=Modal;