index.jsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { computed, defineComponent } from 'vue'
  2. import { formInputViewProps, fromInputEmits } from '../../form-input-props'
  3. import { useFormView } from '@cip/components/hooks/form-input'
  4. import TextareaDirectives from '../../../directives/textarea'
  5. export default defineComponent({
  6. props: formInputViewProps,
  7. emits: [...fromInputEmits],
  8. directives: {
  9. [TextareaDirectives.name]: TextareaDirectives
  10. },
  11. setup (props) {
  12. const { securityConfig } = useFormView(props)
  13. const fontWeight = computed(() => {
  14. return securityConfig.value.fontWeight ?? 'normal'
  15. })
  16. const fontSize = computed(() => {
  17. return securityConfig.value.fontSize + 'px' ?? '14px'
  18. })
  19. const textAlign = computed(() => {
  20. return securityConfig.value.textAlign ?? 'left'
  21. })
  22. return () => (
  23. <div
  24. id={props.fieldKey}
  25. style={{
  26. ...(securityConfig.value.inputStyle || {}),
  27. fontWeight: fontWeight.value,
  28. fontSize: fontSize.value,
  29. textAlign: textAlign.value,
  30. width: '100%'
  31. }}
  32. v-textarea={securityConfig.value.staticInfo}/>
  33. )
  34. }
  35. })