App.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <script setup lang="ts">
  2. import { reactive } from 'vue'
  3. import { ElConfigProvider, ElIcon } from 'element-plus'
  4. import zhCn from 'element-plus/lib/locale/lang/zh-cn'
  5. // import en from 'element-plus/lib/locale/lang/en'
  6. import { VFrom } from '@/components/Form'
  7. import Calendar from '~icons/ep/calendar'
  8. const schema = reactive<VFormSchema[]>([
  9. {
  10. field: 'field1',
  11. component: 'Divider',
  12. componentProps: {
  13. text: 'Input'
  14. }
  15. },
  16. {
  17. field: 'field2',
  18. label: 'default',
  19. component: 'Input'
  20. },
  21. {
  22. field: 'field3',
  23. label: 'input-icon1',
  24. component: 'Input',
  25. componentProps: {
  26. suffixIcon: Calendar,
  27. prefixIcon: Calendar
  28. }
  29. },
  30. {
  31. field: 'field4',
  32. label: 'input-icon2',
  33. component: 'Input',
  34. componentProps: {
  35. slots: {
  36. suffix: true,
  37. prefix: true
  38. }
  39. }
  40. },
  41. {
  42. field: 'field5',
  43. label: 'input-mixed',
  44. component: 'Input',
  45. componentProps: {
  46. slots: {
  47. prepend: true,
  48. append: true
  49. }
  50. }
  51. },
  52. {
  53. field: 'field6',
  54. label: 'textarea',
  55. component: 'Input',
  56. componentProps: {
  57. type: 'textarea',
  58. rows: 1
  59. }
  60. },
  61. {
  62. field: 'field7',
  63. component: 'Divider',
  64. componentProps: {
  65. text: 'Autocomplete'
  66. }
  67. }
  68. ])
  69. </script>
  70. <template>
  71. <ElConfigProvider :locale="zhCn">
  72. <VFrom :schema="schema">
  73. <template #field4-prefix>
  74. <ElIcon class="el-input__icon"><Calendar /></ElIcon>
  75. </template>
  76. <template #field4-suffix>
  77. <ElIcon class="el-input__icon"><Calendar /></ElIcon>
  78. </template>
  79. <template #field5-prepend> Http:// </template>
  80. <template #field5-append> .com </template>
  81. </VFrom>
  82. </ElConfigProvider>
  83. </template>