ButtonGroup
按钮组组件
- 按钮组组件配合Button组件,提供了横、竖两种排列方式, 可选default,justify,segmente,tacked,footer。
- 可通过index设置默认的选中索引值。
- 可通过clickCallback实现点击回调,default和footer模式下不支持clickCallback。
主要属性和接口:
- phType:是否自适应宽度或者垂直排列, 默认default
如:
index:默认的选中索引值, 默认0<ButtonGroup phType='tacked'> <Button block>tacked1</Button> <Button block>tacked2</Button> </ButtonGroup>
如:<ButtonGroup phType='justify' index={1}> <Button>justify</Button> <Button>justify</Button> </ButtonGroup>
- clickCallback:点击按钮组的回调函数。
<ButtonGroup clickCallback={(target,html)=>{console.log(target,html);}}> <Button>tacked1</Button> <Button>tacked2</Button> </ButtonGroup>
Constructor
ButtonGroup
ButtonGroup
()
Example:
import React, { Component } from "react"
import ButtonGroup from "phoenix-ui/lib/button-group"
import Checkbox from "phoenix-ui/lib/checkbox"
import Button from "phoenix-ui/lib/button"
import Code from "./code/code"
export default class buttongroup extends Component{
clickCallback(index){
alert(index);
}
render(){
return(
<div>
<h2 className="comp-title">ButtonGroup</h2>
<h3 className="comp-type">phType(默认default) 自适应宽度</h3>
<div className="content">
<div className="comp-tip">default</div>
<ButtonGroup>
<Button phSize="lg">确定</Button>
<Button phSize="lg" phStyle="gray" hollow >取消</Button>
</ButtonGroup>
</div>
<Code target="button-group-phtype-default" />
<div className="content">
<div className="comp-tip">justify 横向满行</div>
<ButtonGroup phType="justify">
<Button>justify1</Button>
<Button>justify2</Button>
</ButtonGroup>
<ButtonGroup phType="justify">
<Button phStyle='gray'>是</Button>
<Button phStyle='gray'>否</Button>
</ButtonGroup>
</div>
<Code target="button-group-phtype-justify" />
<div className="content">
<div className="comp-tip">segmente 行内元素,每一个标签固定宽度</div>
<ButtonGroup phType="segmente">
<Button>标签1</Button>
<Button>标签2</Button>
<Button>标签3</Button>
</ButtonGroup>
</div>
<Code target="button-group-phtype-segmente" />
<div className="content">
<div className="comp-tip">tacked</div>
<ButtonGroup phType="tacked">
<Button block>tacked1</Button>
<Button block>tacked2</Button>
<Button block>tacked3</Button>
</ButtonGroup>
</div>
<Code target="button-group-phtype-tacked" />
<h3 className="comp-type">index 选中的索引</h3>
<div className="content">
<ButtonGroup phType="justify" index={1}>
<Button>justify1</Button>
<Button>justify2</Button>
<Button>justify3</Button>
</ButtonGroup>
</div>
<Code target="button-group-index" />
<h3 className="comp-type">clickCallback 点击按钮组回调函数</h3>
<div className="content">
<ButtonGroup phType="justify" clickCallback={this.clickCallback}>
<Button>justify1</Button>
<Button>justify2</Button>
<Button>justify3</Button>
</ButtonGroup>
</div>
<Code target="button-group-callback" />
<h3 className="comp-type">extra 更多内容</h3>
<ButtonGroup phType="footer" extra={<Checkbox phSize='sm' label={<span>更多内容<a href='#'>连接</a><i>重要</i></span>} />}>
<Button phSize="lg">确定</Button>
</ButtonGroup>
</div>
);
}
}
方法
clickCallback
clickCallback
(
-
index
)
按钮被按下后的回调
参数:
index
Number
选中的索引值
参数名 | 类型 | 标识 | 描述 |
---|---|---|---|
index
| Number | 选中的索引值 |
属性
classPrefix
String
样式前缀
Default:
'button-group'
extra
Object
更多内容,传递的类型是react element
Default:
null
index
Number
默认索引值
Default:
0
phType
String
是否有自适应宽度,垂直排列等属性,取值为default(用于双按钮)、justify(水平排列)、tacked(垂直排列)、segmente(分割排列)、footer(尾部按钮)
Default:
'default'