ActionSheet动作面板 - 图1

ActionSheet 动作面板

基本用法

  1. import { ActionSheet, Cell, Button } from 'zarm';
  2. const BUTTONS = [
  3. {
  4. text: '操作一',
  5. onClick: () => console.log('点击操作一'),
  6. },
  7. {
  8. theme: 'primary',
  9. text: '操作二',
  10. onClick: () => console.log('点击操作二'),
  11. },
  12. {
  13. theme: 'danger',
  14. text: '操作三',
  15. onClick: () => console.log('点击操作三'),
  16. },
  17. ];
  18. class Demo extends React.Component {
  19. constructor(props) {
  20. super(props);
  21. this.state = {
  22. visible1: false,
  23. visible2: false,
  24. visible3: false,
  25. };
  26. }
  27. toggle(key) {
  28. this.setState({
  29. [`${key}`]: !this.state[key],
  30. });
  31. }
  32. render() {
  33. return (
  34. <div>
  35. <Cell
  36. description={
  37. <Button size="xs" onClick={() => this.toggle('visible1')}>开启</Button>
  38. }
  39. >
  40. 普通
  41. </Cell>
  42. <Cell
  43. description={
  44. <Button size="xs" onClick={() => this.toggle('visible2')}>开启</Button>
  45. }
  46. >
  47. 带取消操作
  48. </Cell>
  49. <Cell
  50. description={
  51. <Button size="xs" onClick={() => this.toggle('visible3')}>开启</Button>
  52. }
  53. >
  54. 圆角、留边
  55. </Cell>
  56. <ActionSheet
  57. visible={this.state.visible1}
  58. actions={BUTTONS}
  59. onMaskClick={() => this.toggle('visible1')}
  60. />
  61. <ActionSheet
  62. visible={this.state.visible2}
  63. actions={BUTTONS}
  64. onMaskClick={() => this.toggle('visible2')}
  65. onCancel={() => this.toggle('visible2')}
  66. />
  67. <ActionSheet
  68. spacing
  69. visible={this.state.visible3}
  70. actions={BUTTONS}
  71. onMaskClick={() => this.toggle('visible3')}
  72. onCancel={() => this.toggle('visible3')}
  73. />
  74. </div>
  75. )
  76. }
  77. }
  78. ReactDOM.render(<Demo />, mountNode);

API

属性类型默认值说明
visiblebooleanfalse是否显示
spacingbooleanfalse是否和外部有间距
actionsAction[][]动作列表
onMaskClick() => void-点击遮罩层时触发的回调函数
onCancel() => void-显示取消菜单,点击时触发的回调函数
cancelTextstring'取消'取消菜单的文案

Action 类型定义

属性类型默认值说明
textReactNode-按钮文字
themestring'default'按钮主题,可选值 defaultprimarydanger
classNamestring-追加类名
onClick() => void-按钮点击后触发的回调函数