import { Button, Text, View } from "@tarojs/components"; import Taro from "@tarojs/taro"; import { classNames } from "../../lib"; import { IProps } from "../../../@types/button"; import { BG_COLOR_LIST, SIZE } from "../../lib/model"; export default function ClButton(props: IProps) { const onClick = (e: any) => { !props.disabled && props.onClick && props.onClick(e); }; const onOpenSetting = (e: any) => { !props.disabled && props.onOpenSetting && props.onOpenSetting(e); }; const onGetUserInfo = (e: any) => { !props.disabled && props.onGetUserInfo && props.onGetUserInfo(e); }; const onContact = (e: any) => { !props.disabled && props.onContact && props.onContact(e); }; const onGetPhoneNumber = (e: any) => { !props.disabled && props.onGetPhoneNumber && props.onGetPhoneNumber(e); }; const onGetRealnameAuthInfo = (e: any) => { !props.disabled && props.onGetRealnameAuthInfo && props.onGetRealnameAuthInfo(e); }; const onError = (e: any) => { !props.disabled && props.onError && props.onError(e); }; const shapeClassName = props.shape || "radius"; const sizeClassName = props.size || "normal"; const colorClassName = props.bgColor || "blue"; const disabledClassName = props.disabled; const loadingClassName = props.loading ? "cuIcon-loading iconfont-spin" : ""; const plainClassName = props.plain; const plainSizeName = props.plainSize === "default" ? "line" : "lines"; const shadowSizeName = props.shadow ? "shadow" : ""; const buttonClassName = `cu-btn ${shapeClassName} ${SIZE[sizeClassName]} ${ plainClassName ? "" : BG_COLOR_LIST[colorClassName] } ${ plainClassName ? plainSizeName + "-" + colorClassName : "" } ${shadowSizeName}`; const normalButton = ( ); const longButton = ( {normalButton} ); return props.long ? ( longButton ) : ( {normalButton} ); } ClButton.options = { addGlobalClass: true }; ClButton.defaultProps = { shape: "radius", size: "normal", bgColor: "blue", disabled: false, icon: undefined, loading: false, long: false, plain: false, plainSize: "default", shadow: true, openType: undefined, customData: {} } as IProps;