GradientPicker 是一个 React 组件,用于渲染颜色渐变选择器,支持定义多步渐变,包括线性或径向类型。它提供丰富的属性配置,适用于 WordPress 开发中的自定义界面。
import { useState } from 'react';
import { GradientPicker } from '@wordpress/components';
const MyGradientPicker = () => {
const [ gradient, setGradient ] = useState( null );
return (
<GradientPicker
value={ gradient }
onChange={ ( currentGradient ) => setGradient( currentGradient ) }
gradients={ [
{
name: 'JShine',
gradient:
'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',
slug: 'jshine',
},
{
name: 'Moonlit Asteroid',
gradient:
'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',
slug: 'moonlit-asteroid',
},
{
name: 'Rastafarie',
gradient:
'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',
slug: 'rastafari',
},
] }
/>
);
};See the WordPress Storybook for more detailed, interactive documentation.
GradientPicker is a React component that renders a color gradient picker to
define a multi step gradient. There’s either a linear or a radial type
available.
import { useState } from 'react';
import { GradientPicker } from '@wordpress/components';
const MyGradientPicker = () => {
const [ gradient, setGradient ] = useState( null );
return (
<GradientPicker
value={ gradient }
onChange={ ( currentGradient ) => setGradient( currentGradient ) }
gradients={ [
{
name: 'JShine',
gradient:
'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',
slug: 'jshine',
},
{
name: 'Moonlit Asteroid',
gradient:
'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',
slug: 'moonlit-asteroid',
},
{
name: 'Rastafarie',
gradient:
'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',
slug: 'rastafari',
},
] }
/>
);
};
__experimentalIsRenderedInSidebarbooleanfalseWhether this is rendered in the sidebar.
asButtonsbooleanfalseWhether the control should present as a set of buttons,
each with its own tab stop.
aria-labelstringA label to identify the purpose of the control.
aria-labelledbystringAn ID of an element to provide a label for the control.
classNamestringThe class name added to the wrapper.
clearablebooleantrueWhether the palette should have a clearing button or not.
disableCustomGradientsbooleanfalseIf true, the gradient picker will not be displayed and only defined
gradients from gradients will be shown.
enableAlphabooleantrueWhether to enable alpha transparency options in the picker.
gradientsGradientsProp[]An array of objects as predefined gradients displayed above the gradient
selector. Alternatively, if there are multiple sets (or ‘origins’) of
gradients, you can pass an array of objects each with a name and a
gradients array which will in turn contain the predefined gradient objects.
headingLevel1 | 2 | 3 | 4 | 5 | 6 | "1" | "2" | "3" | "4" | ...2The heading level. Only applies in cases where gradients are provided
from multiple origins (i.e. when the array passed as the gradients prop
contains two or more items).
loopbooleantruePrevents keyboard interaction from wrapping around.
Only used when asButtons is not true.
onChange(currentGradient: string | undefined) => voidThe function called when a new gradient has been defined. It is passed to
the currentGradient as an argument.
valuestring | null'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)'The current value of the gradient. Pass a css gradient string (See default value for example).
Optionally pass in a null value to specify no gradient is currently selected.