项目作者: caohenghu

项目描述 :
Colorpicker of Vue Components
高级语言: JavaScript
项目地址: git://github.com/caohenghu/react-colorpicker.git
创建时间: 2019-08-23T10:09:09Z
项目社区:https://github.com/caohenghu/react-colorpicker

开源协议:

下载


react-colorpicker

LiveDemo

preview-dark
preview-light

Install

  1. $ yarn add @caohenghu/react-colorpicker

Example

  1. import ColorPicker from '@caohenghu/react-colorpicker'
  2. export default class App extends React.Component {
  3. constructor(props) {
  4. super(props)
  5. this.changeColor = this.changeColor.bind(this)
  6. this.openSucker = this.openSucker.bind(this)
  7. this.state = {
  8. color: '#59c7f9',
  9. suckerCanvas: null,
  10. suckerArea: []
  11. }
  12. }
  13. render() {
  14. return (
  15. <div style={background: color}>
  16. <ColorPicker
  17. theme="light"
  18. color={this.state.color}
  19. suckerHide={false}
  20. suckerCanvas={this.state.suckerCanvas}
  21. suckerArea={this.state.suckerArea}
  22. changeColor={this.changeColor}
  23. openSucker={this.openSucker}
  24. />
  25. </div>
  26. )
  27. }
  28. changeColor(color) {
  29. const { r, g, b, a } = color.rgba
  30. this.setState({
  31. color: `rgba(${r},${g},${b},${a})`
  32. })
  33. }
  34. openSucker(isOpen) {
  35. if (isOpen) {
  36. // ... canvas be created, and get the area of canvas
  37. // this.setState({
  38. // suckerCanvas: canvas,
  39. // suckerArea: [x1, y1, x2, y2]
  40. // })
  41. } else {
  42. // this.state.suckerCanvas && this.state.suckerCanvas.remove()
  43. }
  44. }
  45. }

Options

Name Type Default Description
theme String dark dark or light
color String #000000 rgba or hex
colors-default Array ['#000000', '#FFFFFF', '#FF1900', '#F47365', '#FFB243', '#FFE623', '#6EFF2A', '#1BC7B1', '#00BEFF', '#2E81FF', '#5D61FF', '#FF89CF', '#FC3CAD', '#BF3DCE', '#8E00A7', 'rgba(0,0,0,0)'] like ['#ff00ff', '#0f0f0f', ...]
colors-history-key String react-colorpicker-history
sucker-hide Boolean true true or false
sucker-canvas HTMLCanvasElement null like document.createElement('canvas')
sucker-area Array [] like [x1, y1, x2, y2]

Events

Name Type Args Description
changeColor Function color { rgba: {}, hsv: {}, hex: '' }
openSucker Function isOpen true or false

if you want use sucker, then openSucker, sucker-hide, sucker-canvas, sucker-area is necessary. when you click sucker button, you can click it again or press key of esc to exit.