index.jsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  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. lineHeight: 'normal',
  27. width: '100%',
  28. ...(securityConfig.value.inputStyle || {}),
  29. fontWeight: fontWeight.value,
  30. fontSize: fontSize.value,
  31. textAlign: textAlign.value
  32. }}
  33. v-textarea={securityConfig.value.staticInfo}/>
  34. )
  35. }
  36. })