index.vue 714 B

12345678910111213141516171819202122232425262728293031323334
  1. <template>
  2. <el-input v-model="color">
  3. <template #prepend>
  4. <el-color-picker v-model="color" :predefine="PREDEFINE_COLORS" />
  5. </template>
  6. </el-input>
  7. </template>
  8. <script setup lang="ts">
  9. import { propTypes } from '@/utils/propTypes'
  10. import { PREDEFINE_COLORS } from '@/utils/color'
  11. // 颜色输入框
  12. defineOptions({ name: 'ColorInput' })
  13. const props = defineProps({
  14. modelValue: propTypes.string.def('')
  15. })
  16. const emit = defineEmits(['update:modelValue'])
  17. const color = computed({
  18. get: () => {
  19. return props.modelValue
  20. },
  21. set: (val: string) => {
  22. emit('update:modelValue', val)
  23. }
  24. })
  25. </script>
  26. <style scoped lang="scss">
  27. :deep(.el-input-group__prepend) {
  28. padding: 0;
  29. }
  30. </style>