index.jsx 951 B

12345678910111213141516171819202122232425
  1. import { ElRate } from 'element-plus'
  2. import { useFormInput } from '@cip/components/hooks/form-input'
  3. import { formInputProps, fromInputEmits } from '../../form-input-props'
  4. import { useRateConfig } from './use-rate-config'
  5. import './index.less'
  6. export default {
  7. props: formInputProps,
  8. emits: [...fromInputEmits],
  9. setup (props, context) {
  10. const formInput = useFormInput(props, context)
  11. const { proxyValue, securityConfig } = formInput
  12. const { allowHalf, max } = useRateConfig(formInput)
  13. return () => <div class={'cip-rate'}>
  14. <ElRate
  15. modelValue={props.modelValue ?? 0.1} // 当modelValue为假值时ElRate组价会默认emit0,导致defaultValue赋值不生效,所以传个0.1
  16. onUpdate:modelValue={val => { proxyValue.value = val }}
  17. allowHalf={allowHalf.value}
  18. disabled={props.disabled}
  19. max={max.value}
  20. showScore={securityConfig.value.showScore}
  21. />
  22. </div>
  23. }
  24. }