book-weight.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <view class="common-page">
  3. <u-form :model="form" :rules="rules" ref="formRef" labelWidth="80px" errorType="toast">
  4. <u-form-item label="重量(克)" prop="weight" required>
  5. <u-input v-model="form.weight" placeholder="请输入数值" clearable />
  6. </u-form-item>
  7. <u-form-item label="ISBN" prop="isbn" required>
  8. <u-input v-model="form.isbn" placeholder="请输入编码" clearable />
  9. </u-form-item>
  10. </u-form>
  11. <view class="fixed-bottom">
  12. <u-button size="large" type="warning" text="扫码" @click="handleScan" />
  13. <u-button size="large" type="success" text="提交" @click="submitForm" />
  14. </view>
  15. </view>
  16. </template>
  17. <script>
  18. import {
  19. ref
  20. } from 'vue';
  21. export default {
  22. setup() {
  23. const form = ref({
  24. weight: '',
  25. isbn: ''
  26. });
  27. const rules = {
  28. weight: [{
  29. required: true,
  30. message: '请输入重量',
  31. trigger: 'blur'
  32. },
  33. {
  34. type: 'number',
  35. message: '重量必须是数字',
  36. trigger: 'blur'
  37. }
  38. ],
  39. isbn: [{
  40. required: true,
  41. message: '请输入ISBN',
  42. trigger: 'blur'
  43. }]
  44. };
  45. function handleScan() {
  46. }
  47. const formRef = ref(null);
  48. const submitForm = () => {
  49. formRef.value.validate((valid) => {
  50. if (valid) {
  51. // 提交表单
  52. console.log('表单验证成功', form.value);
  53. } else {
  54. console.log('表单验证失败');
  55. return false;
  56. }
  57. });
  58. };
  59. return {
  60. form,
  61. rules,
  62. formRef,
  63. submitForm
  64. };
  65. }
  66. };
  67. </script>