Skip to content

n-color-picker 颜色选择器 ​

取值控件:预设色板点选 + 色相滑杆派生新色 + 当前值回显,纵向三段一次排开。适合"让用户给出一 个颜色"的表单场景(自定义主题色、标注色、分类色),预设里没有想要的颜色时拖动色相滑杆即可在 当前色基础上派生任意色相的新色。

与 n-color 的分工:n-color 是纯点选展示色板(只能选预设里的色);本组件是取值控件,多了色相 滑杆与取值回显。只需要从有限的几个颜色里挑一个时用 n-color,需要派生新色时用本组件。

组件支持 v-model,也可使用显式绑定: :model-value + @update:model-value

平台兼容性 ​

App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序
√ √ √ × × × ×

API ​

属性 ​

参数 说明 类型 默认值 可选值
model-value 当前色值(#rrggbb,输入 #rgb / #rrggbbaa 归一为 #rrggbb 小写输出),空串 = 未选色 String "" -
presets 预设色板色值数组,非法色值不渲染;空数组 = 使用内置默认色板(16 色) Array [] -
columns 色板每行列数;cell 宽度按列数等分(命名沿用 n-color 的同义 prop) Number 8 -
size 色块边长(px);点击区固定 ≥44px Number 28 -
disabled 禁用(保留配色降透明度,拦截点选与色相拖动) Boolean false true<br/>false
custom-class 挂到根节点的额外 class(需是组件样式表内已定义的类) String "" -
custom-style 根节点行内样式 String "" 与 css 相同

事件 ​

事件名 说明 回调参数
update:model-value 色值变化时触发(点选色块或拖动色相滑杆);配合 :model-value 手动双向绑定 色值字符串(#rrggbb 小写)
change 色值变化时触发(语义化入口,与 update:model-value 同时发出) 色值字符串(#rrggbb 小写)

定制通道 ​

  • 主题令牌:--n-color-picker-swatch-radius(色块圆角)/ --n-color-picker-ring-width(选中环 宽度)/ --n-color-picker-check-width(对勾线宽)/ --n-color-picker-disabled-opacity(禁用 透明度),或编译时在 uni.scss 覆盖同名 $n- 变量。
  • 根节点:customClass / customStyle。
  • 内部节点行内样式由组件自管(色块底色、滑块位置随值逐项变化),不开放样式 prop。

记录 · 思考 · 创作