setup.ts 782 B

123456789101112131415161718192021222324252627282930
  1. import { reactive, ref, UnwrapRef } from "vue";
  2. import { RuleObject } from 'ant-design-vue/lib/form/interface';
  3. /**
  4. * 表单
  5. * @returns
  6. */
  7. export function handleForm() {
  8. interface FormState {
  9. payType: number;
  10. Amount: number | null;
  11. Remark: String;
  12. }
  13. const formRef = ref();
  14. const formState: UnwrapRef<FormState> = reactive({
  15. payType: 1,
  16. Amount: null,
  17. Remark: ''
  18. })
  19. const validate = async (value: number, message: string) => {
  20. if (value <= 0) {
  21. return Promise.reject(message)
  22. }
  23. }
  24. const rules = {
  25. Amount: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '金额不能小于0') }],
  26. }
  27. return { rules, formState, formRef }
  28. }