0.0.2 • Published 12 months ago

edgecross_common_style_guide v0.0.2

Weekly downloads
-
License
-
Repository
-
Last release
12 months ago
$ yarn init
$ yarn add -D react react-dom @types/react @types/react-dom
$ yarn add -D typescript

$ yarn add styled-components
$ yarn add -D @types/styled-components

$ yarn add -D @storybook/react
$ npx sb init

CheckBox 컴포넌트 사용 예시

import { useState, useCallback } from "react";

function App() {
  const [checkArray, setCheckArray] = useState<string[]>([]);

  const handleCheckBoxChange = useCallback(
    (id: string, checked: boolean, control: number) => {
      if (id === "All" && checkArray.length === control) {
        setCheckArray([]);
        return;
      } else if (id === "All") {
        setCheckArray(["1", "2"]);
        return;
      }

      if (checked) {
        setCheckArray(checkArray.filter((item) => item !== id));
      } else {
        setCheckArray([...checkArray, id]);
      }
    },
    [checkArray]
  );

  return (
    <React.Fragment>
      <CheckBox
        id="All" // 전체 선택/취소가 가능한 unique id value 제공
        control={2}
        checkedList={checkArray}
        onChange={handleCheckBoxChange}
      />
      <CheckBox
        id="1" // id값 개별 부여
        control={2} // 핸들링 하고자하는 id값의 총 개수
        checkedList={checkArray}
        onChange={handleCheckBoxChange}
      />
      <CheckBox
        id="2"
        control={2}
        checkedList={checkArray}
        onChange={handleCheckBoxChange}
      />
      {checkArray}
    </React.Fragment>
  );
}

export default App;
0.0.2

12 months ago

0.0.1

12 months ago