Button

版本要求:
@ray-js/ray≥0.5.10

描述

多端按钮基础组件,可用于进行强交互的操作。

属性

属性类型必填默认值说明
size"default" | "mini"否default按钮的大小
type"default" | "primary" | "warn"否default按钮的样式类型
plainboolean否false按钮是否镂空,背景色透明
disabledboolean否false是否禁用
loadingboolean否false名称前是否带 loading 图标
formType"submit" | "reset"否-用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件
hoverStartTimenumber否20按住后多久出现点击态,单位毫秒
hoverStayTimenumber否70手指松开后点击态保留时间,单位毫秒

合法值

size
值说明最低版本
default默认尺寸-
mini小尺寸-
type
值说明最低版本
default默认样式按钮-
primary主要操作按钮-
warn警告类操作按钮-
formType
值说明最低版本
submit提交表单,触发 Form 的 onSubmit 回调-
reset重置表单,触发 Form 的 onReset 回调-

示例代码

基础用法

import React from 'react';
import { Button, View } from '@ray-js/ray';

export default function () {
  return (
    <View style={{ padding: '20px' }}>
      <Button>默认按钮</Button>
      <Button style={{ marginTop: '10px' }}>普通按钮</Button>
    </View>
  );
}

按钮类型

import React from 'react';
import { Button, View } from '@ray-js/ray';

export default function () {
  return (
    <View style={{ padding: '20px' }}>
      <Button type="primary">主要按钮</Button>
      <Button type="default" style={{ marginTop: '10px' }}>
        默认按钮
      </Button>
      <Button type="warn" style={{ marginTop: '10px' }}>
        警告按钮
      </Button>
      <Button disabled> Disabled </Button>
    </View>
  );
}

按钮尺寸

import React from 'react';
import { Button, View } from '@ray-js/ray';

export default function () {
  return (
    <View style={{ padding: '20px' }}>
      <Button size="default">默认尺寸</Button>
      <Button size="mini" style={{ marginTop: '10px' }}>
        迷你尺寸
      </Button>
    </View>
  );
}

按钮状态

import React from 'react';
import { Button, View } from '@ray-js/ray';

export default function () {
  return (
    <View style={{ padding: '20px' }}>
      <Button loading>加载中</Button>
      <Button disabled style={{ marginTop: '10px' }}>
        禁用状态
      </Button>
      <Button plain type="primary" style={{ marginTop: '10px' }}>
        镂空按钮
      </Button>
    </View>
  );
}

Hover 点击态与表单

import React from 'react';
import { Button, Form, View, Text } from '@ray-js/ray';

export default function () {
  return (
    <View style={{ padding: '20px' }}>
      <Button
        hoverStartTime={50}
        hoverStayTime={200}
      >
        自定义 Hover 效果
      </Button>
      <Form
        onSubmit={(e) => console.log('提交:', e.detail.value)}
        onReset={() => console.log('重置')}
      >
        <Button formType="submit" type="primary" style={{ marginTop: '10px' }}>
          提交表单
        </Button>
        <Button formType="reset" style={{ marginTop: '10px' }}>
          重置表单
        </Button>
      </Form>
    </View>
  );
}