使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳到内容
文档演练场指南博客
赞助

数据列表

用于显示相似数据项的列表。

源代码Storybook示例
新用户
234
销售额
£12,340
营收
3,450

使用情况

import { DataList } from "@chakra-ui/react"
<DataList.Root>
  {data.map((item) => (
    <DataList.Item key={item.label}>
      <DataList.ItemLabel>{item.label}</DataList.ItemLabel>
      <DataList.ItemValue>{item.value}</DataList.ItemValue>
    </DataList.Item>
  ))}
</DataList.Root>
信息
如果您喜欢封闭式组件组合,请查看下方代码片段

示例

尺寸

使用 size 属性来改变数据列表组件的尺寸。

姓名
John Doe
姓名
John Doe
姓名
John Doe

变体

使用 variant 属性来改变数据列表组件的变体。

添加于 v3.1.x

新用户
234
销售额
£12,340
营收
3,450
新用户
234
销售额
£12,340
营收
3,450

方向

使用 orientation 属性来改变数据列表组件的方向。

新用户
234
销售额
£12,340
营收
3,450

信息提示

DataList.Item 中渲染 InfoTip 组件,为数据列表提供额外上下文。

新用户
234
销售额
£12,340
营收
3,450

分隔符

DataList.Root 上使用 divideY 属性可在项目之间添加分隔符。

Jassie
Bhatia
电子邮件
jassie@jassie.dev
电话
1234567890
地址
1234 Main St, Anytown, USA

封闭式组件

以下是如何为封闭式组件组合设置数据列表。

import { DataList as ChakraDataList } from "@chakra-ui/react"
import { InfoTip } from "@/components/ui/toggle-tip"
import * as React from "react"

export const DataListRoot = ChakraDataList.Root

interface ItemProps extends ChakraDataList.ItemProps {
  label: React.ReactNode
  value: React.ReactNode
  info?: React.ReactNode
  grow?: boolean
}

export const DataListItem = React.forwardRef<HTMLDivElement, ItemProps>(
  function DataListItem(props, ref) {
    const { label, info, value, children, grow, ...rest } = props
    return (
      <ChakraDataList.Item ref={ref} {...rest}>
        <ChakraDataList.ItemLabel flex={grow ? "1" : undefined}>
          {label}
          {info && <InfoTip>{info}</InfoTip>}
        </ChakraDataList.ItemLabel>
        <ChakraDataList.ItemValue flex={grow ? "1" : undefined}>
          {value}
        </ChakraDataList.ItemValue>
        {children}
      </ChakraDataList.Item>
    )
  },
)

如果您想自动将封闭式组件添加到您的项目,请运行以下命令:

npx @chakra-ui/cli snippet add data-list

属性

根组件

属性默认值类型
调色板 'gray'
'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink'

组件的调色板

方向 'vertical'
'horizontal' | 'vertical'

组件的方向

尺寸 'md'
'sm' | 'md' | 'lg'

组件的尺寸

变体 'subtle'
'subtle' | 'bold'

组件的变体

上一个

色板

下一个

对话框