index.jsx 795 B

12345678910111213141516171819202122232425262728
  1. import { ElRate } from 'element-plus'
  2. import { generateProps, generateEmits } from '../helper/component-util'
  3. import { componentScheme } from './component.scheme'
  4. export default {
  5. name: 'cip-rate',
  6. props: generateProps(componentScheme),
  7. emits: generateEmits(componentScheme),
  8. setup (props, { emit }) {
  9. function updateModel (val) {
  10. emit('update:modelValue', val)
  11. }
  12. const handleDblClick = (e) => {
  13. // UI中双击星星图标,清除当前评分的功能
  14. if (e.target.tagName.toLowerCase() === 'path') {
  15. emit('update:modelValue', 0)
  16. }
  17. }
  18. return () => <>
  19. <ElRate
  20. class='cip-rate'
  21. {...props}
  22. onUpdate:modelValue={(newVal) => { updateModel(newVal) }}
  23. onDblclick={handleDblClick}
  24. />
  25. </>
  26. }
  27. }