registerForm.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <view>
  3. <u-form :model="form" ref="uForm" label-width="auto">
  4. <u-form-item prop="username">
  5. <u-input v-model="form.username" placeholder="请输入用户名" />
  6. </u-form-item>
  7. <u-form-item prop="password">
  8. <u-input v-model="form.password" type="password" placeholder="请输入密码" />
  9. </u-form-item>
  10. <u-form-item prop="confirmPassword">
  11. <u-input v-model="form.confirmPassword" type="password" placeholder="请输入确认密码" />
  12. </u-form-item>
  13. </u-form>
  14. <view class="u-m-t-60">
  15. <u-button type="success" @click="submit">确认注册</u-button>
  16. </view>
  17. <view class="u-m-t-40 u-text-right u-type-success">
  18. <text @click="signIn">已有账号,去登录</text>
  19. </view>
  20. </view>
  21. </template>
  22. <script>
  23. export default {
  24. data() {
  25. return {
  26. form: {
  27. username: '',
  28. password: '',
  29. confirmPassword: ''
  30. },
  31. rules: {
  32. username: [{
  33. required: true,
  34. message: '请输入用户名',
  35. trigger: ['change', 'blur']
  36. }],
  37. password: [{
  38. required: true,
  39. message: '请输入密码',
  40. trigger: ['change', 'blur']
  41. }],
  42. confirmPassword: [{
  43. required: true,
  44. message: '请输入确认密码',
  45. trigger: ['change', 'blur']
  46. }]
  47. },
  48. }
  49. },
  50. methods: {
  51. /*
  52. 登录
  53. */
  54. signIn() {
  55. this.$emit('signIn')
  56. },
  57. /**
  58. * 校验
  59. */
  60. validated() {
  61. return new Promise((resolve, reject) => {
  62. this.$refs.uForm.validate(valid => valid ? resolve(true) : reject(false));
  63. })
  64. },
  65. async submit() {
  66. // 校验
  67. await this.validated()
  68. this.$emit('register', this.form)
  69. }
  70. },
  71. mounted() {
  72. this.$refs.uForm.setRules(this.rules)
  73. }
  74. }
  75. </script>
  76. <style>
  77. </style>