跳到正文
册页

网站

Music - 音乐展示

精选录音、曲目行与播放列表集合。

用法

什么时候用它

展示传入的收听数据和播放控件,无需绑定某个音乐服务。

来自@misoto22/folio/website

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

说明

带排名的录音或艺术家条目,由应用的统一播放器控制。

实践建议

推荐

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

避免

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

示例

曲目信息与预览状态

录音信息和预览状态由应用的播放器通过属性传入。这个示例只切换可见状态,不会加载或播放音频。

Artwork unavailable

Selected recording

Morning light

The Field Ensemble

0:42
3:00
1
Morning light
The Field Ensemble
3:00

组成部分

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

MusicFeature

播放中、最近播放和不可用的录音使用相同的精选媒体布局。

MusicFeature props
属性类型默认值说明
artworkFallback必填string
label必填string
title必填ReactNode
actionReactNode
artworkReactNode
descriptionReactNode
livebooleanfalse
noticestring
progress{ label: string; value: number; max: number; currentLabel: string; endLabel: string }

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

MediaCollectionCard

播放列表、专辑或其他媒体集合,提供一个明确的预览操作。

MediaCollectionCard props
属性类型默认值说明
preview必填MediaPreviewAction
title必填ReactNode
artworkReactNode
descriptionstring | null
metadataReactNode
tagstring | null

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

MusicSection

媒体列表的标题、说明与集合布局。

MusicSection props
属性类型默认值说明
children必填ReactNode
title必填string
captionstring
layout'list' | 'collections''list'

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