Form 表单

将组件内的用户输入的 switch、input、checkbox、slider、radio、picker 提交。

当点击 form 中 form-type 为 submit 的 <se-button /> 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。

Form 表单 - 图1

  1. <se-form @submit="submit" @reset="reset">
  2. <se-input name="word" />
  3. <p>
  4. <se-checkbox-group name="checkboxGroup" :value="selected">
  5. <se-checkbox
  6. v-for="(item, i) in options"
  7. :key="i"
  8. :value="item.value"
  9. :disabled="item.disabled"
  10. >
  11. {{item.label}}
  12. </se-checkbox>
  13. </se-checkbox-group>
  14. </p>
  15. <p>
  16. <se-radio-group name="radioGroup" :value="fruit">
  17. <se-radio
  18. v-for="(item, i) in radioOptions"
  19. :key="i"
  20. :value="item.value"
  21. :disabled="item.disabled"
  22. >
  23. {{item.label}}
  24. </se-radio>
  25. </se-radio-group>
  26. </p>
  27. <p>
  28. <se-switch name="my-switch" />
  29. </p>
  30. <p>
  31. <se-slider name="slider" style="width: 300px" />
  32. </p>
  33. <se-button form-type="submit">提交</se-button>
  34. <se-button form-type="reset">重置</se-button>
  35. </se-form>
  36. <script>
  37. export default {
  38. data() {
  39. return {
  40. fruit: 'b',
  41. selected: [],
  42. options: [
  43. { label: '选项A', value: 'a' },
  44. { label: '选项B', value: 'b' },
  45. { label: '选项C', value: 'c' },
  46. { label: '选项D', value: 'd' }
  47. ],
  48. radioOptions: [
  49. { label: '选项A', value: 'a', disabled: true },
  50. { label: '选项B', value: 'b' },
  51. { label: '选项C', value: 'c' },
  52. { label: '选项D', value: 'd', disabled: true }
  53. ]
  54. }
  55. },
  56. methods: {
  57. submit(e) {
  58. console.log(e.detail.value)
  59. },
  60. reset() {
  61. console.log('reset data')
  62. }
  63. }
  64. }
  65. </script>

Events

事件名称参数备注
submitEventHandle携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value'} , formId: ''}
resetEventHandle表单重置时会触发 reset 事件