@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
48 lines (43 loc) • 1.18 kB
TypeScript
import { ReactNode } from 'react'
import { ButtonProps as TaroButtonProps, ITouchEvent } from '@tarojs/components'
export interface ButtonProps extends Omit<TaroButtonProps, 'size' | 'type'> {
/**
* @description 传入Icon的name值
*/
icon?: string
classPrefix?: string
type?: 'default' | 'primary' | 'info' | 'warning' | 'danger'
size?: 'small' | 'normal' | 'large' | 'mini'
block?: boolean
round?: boolean
square?: boolean
loading?: boolean
hairline?: boolean
disabled?: boolean
/**
* @description loading的文案
* @default 加载中
*/
loadingText?: ReactNode
loadingSize?: string
loadingType?: 'spinner' | 'circular'
/**
* @description loading的模式,按钮内loading 或 Toast.loading
* @default normal
*/
loadingMode?: 'normal' | 'toast'
/**
* @description loading的蒙层,默认开启
* @default true
*/
loadingMask?: boolean
color?: string
children?: ReactNode
onClick?: (event: ITouchEvent) => void | Promise<any>
}
declare interface IButton {
(props: ButtonProps): JSX.Element
config: (config: { asyncLoading?: boolean }) => void
}
declare const Button: IButton
export { Button }