index.tsx 775 B

1234567891011121314151617181920212223242526272829
  1. "use client";
  2. import { FC, PropsWithChildren } from "react";
  3. import clsx from "clsx";
  4. import styles from "./style.module.scss";
  5. /**
  6. * @description 自定义button按钮
  7. * @param {any} children 插槽内容
  8. * @param {boolean} active 是否高亮
  9. * @param {() => void} callbackFun 回调方法
  10. */
  11. export interface ButtonOwnProps {
  12. children?: any;
  13. active?: boolean;
  14. callbackFun?: () => void;
  15. [props: string]: any
  16. }
  17. const ButtonOwn: FC<PropsWithChildren<ButtonOwnProps>> = ({children = '', active = false, callbackFun}) => {
  18. const divClassName = clsx({
  19. [styles.button]: true,
  20. [styles.active]: active,
  21. });
  22. return (
  23. <div className={divClassName} onClick={callbackFun}>{children}</div>
  24. );
  25. };
  26. export default ButtonOwn;