size-control.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <div>
  3. <el-radio-group v-model="size" label="size control">
  4. <el-radio-button label="large">large</el-radio-button>
  5. <el-radio-button label="default">default</el-radio-button>
  6. <el-radio-button label="small">small</el-radio-button>
  7. </el-radio-group>
  8. <el-radio-group v-model="labelPosition" label="position control">
  9. <el-radio-button label="left">Left</el-radio-button>
  10. <el-radio-button label="right">Right</el-radio-button>
  11. <el-radio-button label="top">Top</el-radio-button>
  12. </el-radio-group>
  13. </div>
  14. <br />
  15. <el-form
  16. ref="form"
  17. :model="sizeForm"
  18. label-width="auto"
  19. :label-position="labelPosition"
  20. :size="size"
  21. >
  22. <el-form-item label="Activity name">
  23. <el-input v-model="sizeForm.name" />
  24. </el-form-item>
  25. <el-form-item label="Activity zone">
  26. <el-select
  27. v-model="sizeForm.region"
  28. placeholder="please select your zone"
  29. >
  30. <el-option label="Zone one" value="shanghai" />
  31. <el-option label="Zone two" value="beijing" />
  32. </el-select>
  33. </el-form-item>
  34. <el-form-item label="Activity time">
  35. <el-col :span="11">
  36. <el-date-picker
  37. v-model="sizeForm.date1"
  38. type="date"
  39. label="Pick a date"
  40. placeholder="Pick a date"
  41. style="width: 100%"
  42. />
  43. </el-col>
  44. <el-col class="text-center" :span="1" style="margin: 0 0.5rem">-</el-col>
  45. <el-col :span="11">
  46. <el-time-picker
  47. v-model="sizeForm.date2"
  48. label="Pick a time"
  49. placeholder="Pick a time"
  50. style="width: 100%"
  51. />
  52. </el-col>
  53. </el-form-item>
  54. <el-form-item label="Activity type">
  55. <el-checkbox-group v-model="sizeForm.type">
  56. <el-checkbox-button label="Online activities" name="type" />
  57. <el-checkbox-button label="Promotion activities" name="type" />
  58. </el-checkbox-group>
  59. </el-form-item>
  60. <el-form-item label="Resources">
  61. <el-radio-group v-model="sizeForm.resource">
  62. <el-radio border label="Sponsor" />
  63. <el-radio border label="Venue" />
  64. </el-radio-group>
  65. </el-form-item>
  66. <el-form-item>
  67. <el-button type="primary" @click="onSubmit">Create</el-button>
  68. <el-button>Cancel</el-button>
  69. </el-form-item>
  70. </el-form>
  71. </template>
  72. <script lang="ts" setup>
  73. import { reactive, ref } from 'vue'
  74. const size = ref('default')
  75. const labelPosition = ref('right')
  76. const sizeForm = reactive({
  77. name: '',
  78. region: '',
  79. date1: '',
  80. date2: '',
  81. delivery: false,
  82. type: [],
  83. resource: '',
  84. desc: '',
  85. })
  86. function onSubmit() {
  87. console.log('submit!')
  88. }
  89. </script>
  90. <style>
  91. .el-radio-group {
  92. margin-right: 12px;
  93. }
  94. </style>