DataList
DataList (데이터 목록)
DataList 컴포넌트는 라벨-값(label-value) 쌍을 설명 목록(description list)으로 보여 주는 컴포넌트예요. 시맨틱한 dt와 dd HTML 요소를 사용해요.
출처: 문서
본문
DataList 컴포넌트는 라벨-값 쌍으로 이루어진 설명 목록(dl) 요소를 렌더링해요. 시맨틱한 dt와 dd HTML 요소를 사용해요.
import { DataList } from '@mantine/core';
const data = [
{ label: 'Name', value: 'John Doe' },
{ label: 'Email', value: '[email protected]' },
{ label: 'Role', value: 'Software Engineer' },
{ label: 'Location', value: 'San Francisco, CA' },
];
function Demo() {
return (
<DataList>
{data.map((item) => (
<DataList.Item key={item.label}>
<DataList.ItemLabel>{item.label}</DataList.ItemLabel>
<DataList.ItemValue>{item.value}</DataList.ItemValue>
</DataList.Item>
))}
</DataList>
);
}
구분선 추가 (With divider)
withDivider prop을 설정하면 항목 사이에 경계선(border)이 추가돼요.
import { DataList } from '@mantine/core';
function Demo() {
return (
<DataList withDivider>
<DataList.Item>
<DataList.ItemLabel>Name</DataList.ItemLabel>
<DataList.ItemValue>John Doe</DataList.ItemValue>
</DataList.Item>
<DataList.Item>
<DataList.ItemLabel>Email</DataList.ItemLabel>
<DataList.ItemValue>[email protected]</DataList.ItemValue>
</DataList.Item>
<DataList.Item>
<DataList.ItemLabel>Role</DataList.ItemLabel>
<DataList.ItemValue>Software Engineer</DataList.ItemValue>
</DataList.Item>
</DataList>
);
}
세로 방향 (Vertical orientation)
orientation="vertical"을 설정하면 각 항목 안에서 라벨이 값 위에 쌓이도록 배치할 수 있어요.
import { DataList } from '@mantine/core';
function Demo() {
return (
<DataList orientation="vertical" withDivider>
<DataList.Item>
<DataList.ItemLabel>Name</DataList.ItemLabel>
<DataList.ItemValue>John Doe</DataList.ItemValue>
</DataList.Item>
<DataList.Item>
<DataList.ItemLabel>Email</DataList.ItemLabel>
<DataList.ItemValue>[email protected]</DataList.ItemValue>
</DataList.Item>
<DataList.Item>
<DataList.ItemLabel>Role</DataList.ItemLabel>
<DataList.ItemValue>Software Engineer</DataList.ItemValue>
</DataList.Item>
</DataList>
);
}