index.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import BasicNumber from '../../basic/number'
  2. import { useFormInput } from '@cip/components/hooks/form-input'
  3. import { formInputProps } from '../../form-input-props'
  4. import { computed } from 'vue'
  5. import { useRange } from './use-range'
  6. import './index.less'
  7. export default {
  8. props: formInputProps,
  9. emits: ['update:modelValue', 'update:otherValue'],
  10. setup (props, context) {
  11. const { width, securityConfig, proxyValue, proxyOtherValue } = useFormInput(props, context)
  12. const style = computed(() => {
  13. return { 'flex-basis': width.value, 'flex-grow': 0 }
  14. })
  15. const { min, max, joint } = useRange(props)
  16. return () => <div class={'extension-number-range'} style={style.value}>
  17. <BasicNumber
  18. v-model={proxyValue.value}
  19. config={{
  20. ...securityConfig,
  21. max: max.value,
  22. placeholder: securityConfig.value.startPlaceholder
  23. }}/>
  24. <span class={'extension-number-range__joint'}>{joint.value}</span>
  25. <BasicNumber
  26. v-model={proxyOtherValue[0].value}
  27. config={{
  28. ...securityConfig,
  29. min: min.value,
  30. placeholder: securityConfig.value.endPlaceholder
  31. }}/>
  32. </div>
  33. }
  34. }