color.jsx 763 B

12345678910111213141516171819202122232425262728
  1. import { ElColorPicker } from 'element-plus'
  2. import { setElColor } from '@cip/utils/color-util'
  3. export default {
  4. props: {
  5. modelValue: String,
  6. type: {
  7. type: String,
  8. default: 'primary',
  9. validate: (val) => ['primary', 'success', 'warning', 'danger'].includes(val)
  10. }
  11. },
  12. emits: ['update:modelValue'],
  13. setup (props, { emit }) {
  14. const changeColor = (color) => {
  15. setElColor(props.type, color)
  16. emit('update:modelValue', color)
  17. }
  18. return () =>
  19. <div class={'header-plugin-color'}>
  20. <ElColorPicker
  21. class={'color-picker'}
  22. popperClass='cip-nav-color'
  23. modelValue={props.modelValue}
  24. onUpdate:modelValue={(color) => changeColor(color)}
  25. />
  26. </div>
  27. }
  28. }