Button 按钮
按钮用于开始一个即时操作。
何时使用#
标记了一个(或封装一组)操作命令,响应用户点击行为,触发相应的业务逻辑。
API#
属性 |
说明 |
类型 |
默认值 |
type |
设置按钮类型,可选值为 primary ghost 或者不设 |
Enum |
undefined |
htmlType |
设置 button 原生的 type 值,可选值请参考 HTML标准 |
Enum |
button |
shape |
设置按钮形状,可选值为 circle circle-outline 或者不设 |
Enum |
undefined |
size |
设置按钮大小,可选值为 small large 或者不设 |
Enum |
undefined |
loading |
设置按钮载入状态,存在为 true ,不存在为 false ,或直接设置值,如:loading="true" |
Bool |
false |
onClick |
click 事件的 handler |
Function |
function() {} |
<Button>Hello world!</Button>
最终会被渲染为 <button>Hello world!</button>
,并且除了上表中的属性,其它属性都会直接传到 <button></button>
IE8 border radius support#
Ant Design 视觉上采用渐进降级的方案,在 IE8 下圆角按钮将降级为直角。
如果强烈需要圆角按钮,我们提供了 css3pie 的兼容方案。
使用时只需在 html 头部加入以下代码即可。
代码演示
import { Button } from 'antd';
ReactDOM.render(<div>
<Button type="primary">主按钮</Button>
<Button>次按钮</Button>
<Button type="ghost">幽灵按钮</Button>
</div>,
document.getElementById('components-button-demo-basic'));
import { Button } from 'antd';
ReactDOM.render(<div>
<Button type="primary" size="large">大号按钮</Button>
<Button type="primary">中号按钮(默认)</Button>
<Button type="primary" size="small">小号按钮</Button>
</div>
, document.getElementById('components-button-demo-size'));
import { Button } from 'antd';
const App = React.createClass({
getInitialState() {
return {
loading: false
};
},
enterLoading() {
this.setState({
loading: true
});
},
render() {
return <div>
<Button type="primary" size="large" loading>
加载中
</Button>
<Button type="primary" loading>
加载中
</Button>
<Button type="primary" size="small" loading>
加载中
</Button>
<br />
<Button type="primary" loading={this.state.loading} onClick={this.enterLoading}>
点击变加载
</Button>
</div>;
}
});
ReactDOM.render(<App />, document.getElementById('components-button-demo-loading'));
import { Button, Icon } from 'antd';
ReactDOM.render(<div>
<Button type="primary" shape="circle" size="large">
<Icon type="search" />
</Button>
<Button type="primary" size="large">
<Icon type="search" />
大按钮
</Button>
<Button type="primary" shape="circle">
<Icon type="search" />
</Button>
<Button type="primary">
<Icon type="search" />
中按钮
</Button>
<Button type="primary" shape="circle" size="small">
<Icon type="search" />
</Button>
<Button type="primary" size="small">
<Icon type="search" />
小按钮
</Button>
<br />
<Button type="ghost" shape="circle-outline" size="large">
<Icon type="search" />
</Button>
<Button type="ghost" shape="circle-outline">
<Icon type="search" />
</Button>
<Button type="ghost" shape="circle-outline" size="small">
<Icon type="search" />
</Button>
</div>,
document.getElementById('components-button-demo-icon'));
import { Button, Icon } from 'antd';
ReactDOM.render(<div>
<Button type="primary" shape="circle" size="large">
<Icon type="search" />
</Button>
<Button type="primary" shape="circle">
<Icon type="search" />
</Button>
<Button type="primary" shape="circle" size="small">
<Icon type="search" />
</Button>
<br />
<Button type="ghost" shape="circle-outline" size="large">
<Icon type="search" />
</Button>
<Button type="ghost" shape="circle-outline">
<Icon type="search" />
</Button>
<Button type="ghost" shape="circle-outline" size="small">
<Icon type="search" />
</Button>
</div>
, document.getElementById('components-button-demo-shape'));
import { Button } from 'antd';
ReactDOM.render(<div>
<Button type="primary">主按钮</Button>
<Button type="primary" disabled>主按钮(失效)</Button>
<br />
<Button>次按钮</Button>
<Button disabled>次按钮(失效)</Button>
<br />
<Button type="ghost">幽灵按钮</Button>
<Button type="ghost" disabled>幽灵按钮(失效)</Button>
</div>
, document.getElementById('components-button-demo-disabled'));