详解react使用react-bootstrap当轮子造车

前端之家收集整理的这篇文章主要介绍了详解react使用react-bootstrap当轮子造车前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

上一篇我们谈了谈如何配置react的webpack环境

可能很多人已经打开过官方文档学习了react的基础知识

不管有没有,在介绍react之前,我想先介绍一下react-bootstrap

先懂得使用别人造的轮子,就能更快成为老司机。

好的,源代码奉上:

打开浏览器输入:localhost:8080

react-bootstrap官方网址

现在就让我们来看看它能干什么吧!

一、Button

使用Button声明一个按钮,bsSize有如下四个属性,可以分别有大、中、小、超小四种大小的按钮,再用ButtonToolbar包裹起来

使用效果如下:

使用well将按钮包裹起来,可以实现如下效果:(well在后面介绍)

使用 bsStyle属性可以调整按钮的状态颜色:

Default

下图bsStyle属性分别为:info、warning、danger、link

使用按钮实现点击loading,等待结果的功能

点击之后会变为loading...,可以自己点击一下

handleClick() {
this.setState({isLoading: true});

// This probably where you would have an `ajax` call
setTimeout(() => {
  // Completed of async action,set loading state back
  this.setState({isLoading: false});
},2000);

}

render() {
let isLoading = this.state.isLoading;
return (
<Button
bsStyle="primary"
disabled={isLoading}
onClick={!isLoading ? this.handleClick : null}>
{isLoading ? 'Loading...' : 'Loading state'}

); } }

实现按钮的下拉和上拉:

在title中使用Dropdown属性,用DropdownButton包裹下拉,使用Dropup为上拉

//上拉

二、List

简单列表:

Link 1 Link 2 Link 3

使用ListGroup包裹, ListGroupItem就是它的子元素

  • active:已选中
  • disable:可以取消它的点击事件

表格:

# First Name Last Name Username

可以点击隐藏的面板:

render() {
return (

Anim pariatur cliche reprehenderit,enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica,craft beer labore wes anderson cred nesciunt sapiente ea proident.
); } }

三、Overlays

点击弹出的窗口:

dpname:false}; this.onDisplayOverlays = this.onDisplayOverlays.bind(this); this.onCloSEOverlays = this.onCloSEOverlays.bind(this); }

onDisplayOverlays() {
this.setState({
dpname:true
});
}

onCloSEOverlays() {
this.setState({
dpname:false
});
}

render() {
if(this.state.dpname)
return (

Modal title
          <Modal.Body>
            One fine body...
          </Modal.Body>

          <Modal.Footer>
            <Button onClick={this.onCloseOverlays}>Close</Button>
            <Button bsStyle="primary"&gt;Save changes</Button>
          </Modal.Footer>

        </Modal.Dialog>
      </div>
    </div>
  );
else
  return (
    <div>
      <Button
        bsStyle="primary"
        onClick={this.onDisplayOverlays}>
        弹出框
      </Button>
    </div>
  );

}
}

以及点击显示、隐藏的overload

render() {
const sharedProps = {
show: this.state.show,container: this,target: () => ReactDOM.findDOMNode(this.refs.target)
};

return (
  <div style={{ height: 100,paddingLeft: 150,position: 'relative' }}>
    <Button ref="target" onClick={this.toggle}>
      Click me!
    </Button>

    <Overlay {...sharedProps} placement="left"&gt;
      <Tooltip id="overload-left"&gt;Tooltip overload!</Tooltip>
    </Overlay>
    <Overlay {...sharedProps} placement="top"&gt;
      <Tooltip id="overload-top"&gt;Tooltip overload!</Tooltip>
    </Overlay>
    <Overlay {...sharedProps} placement="right"&gt;
      <Tooltip id="overload-right"&gt;Tooltip overload!</Tooltip>
    </Overlay>
    <Overlay {...sharedProps} placement="bottom"&gt;
      <Tooltip id="overload-bottom"&gt;Tooltip overload!</Tooltip>
    </Overlay>
  </div>
);

}
}

四、轮播

render() {
return (

900x500

First slide label

Nulla vitae elit libero,a pharetra augue mollis interdum.

900x500

Second slide label

Lorem ipsum dolor sit amet,consectetur adipiscing elit.

900x500

Third slide label

Praesent commodo cursus magna,vel scelerisque nisl consectetur.

); } }

五、一些有用的图标

render() {
return (

Label

Label

Label

Label

Label

Label

); } }

六、表单

表单基础的类函数为:

{label} {help && {help}} ); }

然后使用FieldGroup包裹:

便可以轻松实现表单!如果你对react有了解,便知道原生的表单是不能直接用的。这个组件简化了许多,但我没用实际用过,所以不知道效果如何。

我写的这些只是抛砖引玉,只是希望大家稍微了解到react-bootstrap大概能做的事

更详细的方法属性请进入官方网址浏览文档,打开源代码自行研究

有些官方demo没有给完全,可以运行前面的我给的demo,再查看源代码理解(不过我也没有写全,而且结构比较乱)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

原文链接:https://www.f2er.com/bootstrap/37152.html

猜你在找的Bootstrap相关文章