Chroma Panel

搜索文档

查找页面或章节

EN

PanelFooter

查看 Markdown

底栏:当前颜色,以及你之前用过的颜色。

PanelFooter 是 React 颜色选择器底部的一栏。它显示当前颜色的预览、最多十个最近使用的颜色和一个复制按钮;在支持 EyeDropper API 的浏览器中,还有一个能从屏幕任意位置取色的按钮。ChromaPanel 会在每个模式下方渲染它。它不接受任何 prop,显示哪些内容由面板的 showRecentColorsrecentColorsshowCopyButtonshowEyedropper 这几个 prop 决定。

颜色在变更提交时才会加入历史记录,比如拖动结束的时候,而不是每一帧都加。点击最近使用的色块,可以再次选中那个颜色。取色器按钮基于 useEyedropper 实现,你也可以用它做一个自己的按钮。

复制按钮按面板的 format prop 写入当前颜色,并把成功或失败的结果播报给辅助技术。它默认显示;如果你的界面已经有复制操作,传入 showCopyButton={false} 即可。

结构

import { PanelFooter, pushRecent } from "chroma-panel";

底栏只显示一次当前颜色,旁边是最近使用的颜色记录。哪一侧的色块更多,记录这一行就在哪一侧淡出。

自行添加历史记录

function pushRecent(list: string[], hex: string, limit?: number): string[]

Adds a color to a recent list, de-duplicated and capped. Exported so your own controls can match the panel's behavior.

pushRecent 把颜色放到最前面,去掉列表中已有的相同颜色,并把列表长度限制在 limit 以内(默认为 10)。面板内部用的也是这个函数。

在面板上设置 showRecentColors={false} 可以完全关闭这一行,也可以用 recentColorsonRecentColorsChange 来控制它,详见受控与非受控

PanelFooter:当前颜色与最近使用的颜色 | Chroma Panel