index.js 875 B

1234567891011121314151617181920212223242526
  1. import { ElCheckbox } from 'element-plus'
  2. import { useFormInput } from '@cip/components/hooks/form-input'
  3. import { formInputProps } from '../../form-input-props'
  4. import { computed, h } from 'vue'
  5. export default {
  6. props: formInputProps,
  7. emits: ['update:modelValue'],
  8. setup (props, context) {
  9. const { proxyValue, securityConfig, ...formInput } = useFormInput(props, context)
  10. const option = computed(() => {
  11. return securityConfig.value.option
  12. })
  13. return () => h(ElCheckbox, {
  14. ...formInput,
  15. label: option.value.value,
  16. modelValue: props.modelValue === option.value.value,
  17. 'onUpdate:modelValue': (val) => {
  18. if (val) {
  19. proxyValue.value = option.value.value ?? true
  20. } else {
  21. proxyValue.value = option.value.inactiveValue
  22. }
  23. }
  24. }, { default: () => `${option.value.label}` })
  25. }
  26. }