跳到正文
册页

网站

Collection - 内容集合

集合标题、搜索控件、精选条目与空状态。

用法

什么时候用它

展示可搜索的内容归档,筛选逻辑和数据访问仍由应用负责。

来自@misoto22/folio/website

TSX
import { ContentBand } from '@misoto22/folio/website'

实践建议

推荐

  • 提供本地化标签、含义明确的链接和有用的图片替代文本。

避免

  • 不要在展示组件中放入服务凭据、路由逻辑或后端模型。

示例

可搜索的条目

搜索和分类状态由应用维护,应用将筛选后的条目传入组件。控件提供具名输入框、清空操作和筛选按钮的选中状态。

组成部分

在调用处组合,而不是通过 props 配置——所以这个组件没有预料到的布局,依然表达得出来。

CollectionIntro

CollectionIntro props
属性类型默认值说明
title必填ReactNode
actionsReactNode
compactbooleanfalse
contextReactNode
descriptionReactNode
mediaReactNode

CollectionMetadata

CollectionMetadata props
属性类型默认值说明
items必填CollectionMetadataItem[]

CollectionGroup

CollectionGroup props
属性类型默认值说明
captionReactNode
compactboolean
headingIdstring
titleReactNode

同时接受 Omit<HTMLAttributes<HTMLElement>, 'title'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

CollectionSearch

CollectionSearch props
属性类型默认值说明
clearLabel必填string
label必填string
onChange必填(value: string) => void
value必填string
focusShortcutbooleanfalse
placeholderstring

CollectionControls

CollectionControls props
属性类型默认值说明
items必填CollectionFilter[]
onSelect必填(value: string | null) => void
selected必填string | null
filterLabelstring
quietboolean
searchCollectionSearchProps
showCountsbooleantrue

HighlightedText

HighlightedText props
属性类型默认值说明
query必填string
text必填string
classNamestring

RecordRow

RecordRow props
属性类型默认值说明
title必填ReactNode
contextReactNode
headingLevel2 | 32
indexReactNode
linkCollectionLink
mediaReactNode
metadataReactNode
subtitleReactNode
summaryReactNode
trailingReactNode
variant'editorial' | 'media' | 'compact''editorial'

FeaturedRecord

FeaturedRecord props
属性类型默认值说明
media必填ReactNode
title必填ReactNode
actionReactNode
contextReactNode
summaryReactNode

CollectionEmpty

CollectionEmpty props
属性类型默认值说明
message必填string
actionReactNode
hintstring

CollectionFooter

CollectionFooter props
属性类型默认值说明
childrenReactNode
feedbackReactNode

TaxonomyLinks

TaxonomyLinks props
属性类型默认值说明
children必填ReactNode
labelstring

ReferenceLink

用于引用资料的轻量链接,与操作按钮区分。

这个组件没有自己的属性。

ReferenceRows

ReferenceRows props
属性类型默认值说明
items必填{ id?: string; label: ReactNode; hint?: ReactNode; content: ReactNode }[]

CollectionTally

CollectionTally props
属性类型默认值说明
children必填ReactNode

CollectionList

CollectionList props
属性类型默认值说明
children必填ReactNode

同时接受 HTMLAttributes<HTMLUListElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

类型

TSX
export type CollectionLink = ReactElement<{ children?: ReactNode }>