import { List } from 'sud-ui';여러 항목을 나열할 때
import { Card, List } from "sud-ui";
export default function App() {
const data = Array.from({ length: 20 }, (_, i) => `Item ${i + 1}`);
return (
<Card style={{ width: "100%" }}>
<List dataSource={data} />
</Card>
);
}import { Card, List } from "sud-ui";
export default function App() {
const data = Array.from({ length: 1000 }, (_, i) => `Item ${i + 1}`);
return (
<Card style={{ width: "100%", height: 400 }}>
<List
dataSource={data}
virtualScroll={true}
itemHeight={40}
overscanCount={5}
style={{ height: "100%" }}
/>
</Card>
);
}import { Card, List } from "sud-ui";
export default function App() {
const data = [];
return (
<Card style={{ width: "100%" }}>
<List dataSource={data} />
</Card>
);
}import { Card, List } from "sud-ui";
export default function App() {
const data = Array.from({ length: 20 }, (_, i) => `Item ${i + 1}`);
return (
<Card style={{ width: "100%" }}>
<List dataSource={data} pagination={{ pageSize: 4, current: 1, align: "center" }} />
</Card>
);
}import { Card, List } from "sud-ui";
export default function App() {
const data = Array.from({ length: 5 }, (_, i) => `Item ${i + 1}`);
return (
<Card style={{ width: "100%" }}>
<List dataSource={data} loading={true} />
</Card>
);
}속성 이름 | 설명 | 타입 | 기본값 |
|---|
| dataSource | 리스트에 표시할 데이터 배열 (T[]) | T[] | [] |
| pagination | 페이지네이션 설정 (boolean | PaginationProps) | boolean | PaginationProps | false |
| gap | 리스트 아이템 간의 간격 | number | 8 |
| split | 아이템 사이에 구분선 표시 여부 | boolean | true |
| loading | 로딩 상태 표시 여부 | boolean | false |
| emptyText | 데이터가 없을 때 표시할 텍스트 | ReactNode | "No Data" |
| className | 컨테이너에 적용할 추가 클래스명 | string | - |
| style | 컨테이너에 적용할 스타일 | CSSProperties | - |
| itemStyle | 각 아이템에 적용할 스타일 | CSSProperties | - |
| listStyle | 리스트 컨텐츠 영역에 적용할 스타일 | CSSProperties | - |
| virtualScroll | 가상 스크롤 사용 여부 | boolean | false |
| itemHeight | 가상 스크롤에서 사용할 아이템 높이 | number | 40 |
| overscanCount | 가상 스크롤에서 미리 렌더링할 아이템 수 | number | 5 |