import ZOComponent from '../../common/component' import classNames from 'classnames' import { ZOButtonProps, ZOButtonState } from 'types/button' import Taro from '@tarojs/taro' import { View, Button } from '@tarojs/components' import { CommonEvent } from '@tarojs/components/types/common' const TYPE_CLASS = { primary: 'primary', secondary: 'secondary' } export default class ZOButton extends ZOComponent< ZOButtonProps, ZOButtonState > { public static defaultProps: ZOButtonProps public constructor(props: ZOButtonProps) { super(props) this.state = { isWEB: Taro.getEnv() === Taro.ENV_TYPE.WEB, isWEAPP: Taro.getEnv() === Taro.ENV_TYPE.WEAPP, isALIPAY: Taro.getEnv() === Taro.ENV_TYPE.ALIPAY } } private onClick(event: CommonEvent): void { if (!this.props.disabled) { this.props.onClick && this.props.onClick(event) } } public render(): JSX.Element { const { disabled, lang, type = '', formType, circle } = this.props const { isWEB } = this.state const rootClassName = ['zo-button'] const classObject = { [`zo-button--${type}`]: TYPE_CLASS[type], 'zo-button--disabled': disabled, 'zo-button--circle': circle, } const webButton = ( ) return ( {isWEB && !disabled && webButton} {this.props.children} ) } } ZOButton.defaultProps = { onClick: () => {}, type: undefined, }