vbenjs/vue-vben-admin

[BUG]handleInputNumberValue sideEffect

electroluxcode opened this issue · 0 comments

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

  • 已阅读 文档.
  • 确保您的代码已是最新或者所报告的 Bug 在最新版本中可以重现. (部分 Bug 可能已经在最近的代码中修复)
  • 已在 Issues 中搜索了相关的关键词
  • 不是 ant design vue 组件库的 Bug

描述 Bug

当 setFieldsValue 的 值是 undefined 或者 null的时候,input 框的预期应该为空,但是现在输出成 undefined 和 null

复现 Bug

<template>
  <PageWrapper title="点我复现bug">
    <Button @click="clickMeString">点我复现bug</Button>

    <BasicForm @register="registerPreview" class="my-5" />
  </PageWrapper>
</template>
<script lang="ts" setup>
  import { useMessage } from '@/hooks/web/useMessage';
  import { BasicForm, FormSchema, useForm } from '@/components/Form';
  import { PageWrapper } from '@/components/Page';
  import { Button } from 'ant-design-vue';

  const clickMeString = () => {
    setFieldsValue({
      orderNo:undefined // null
    });
  };
  
  const schemasPreview: FormSchema[] = [
  
    {
      field: 'orderNo',
      label: '排序',
      component: 'Input',
      defaultValue: 12345678,
    },
  ];
  const { createMessage } = useMessage();
  // registerPreview
  const [registerPreview, { getFieldsValue: getFieldsValuePreview, setFieldsValue }] = useForm({
    labelWidth: 160,
    schemas: schemasPreview,
    actionColOptions: {
      span: 18,
    },
    submitFunc: () => {
      return new Promise((resolve) => {
        console.log(getFieldsValuePreview());
        resolve();
        createMessage.success(`请到控制台查看结果`);
      });
    },
  });
</script>