Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

useTable下 formConfig设置submitOnChange: true ,schemas 属性下有设置defaulfValue时会重复请求 #3224

Closed
4 tasks
zs555zs opened this issue Nov 1, 2023 · 8 comments

Comments

@zs555zs
Copy link

zs555zs commented Nov 1, 2023

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

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

描述 Bug

使用 useTable,设置

api: getTable,
useSearchForm: true,
    formConfig: {
      schemas: billSearchSchema,   // 下面的表格项设置 defaulfValue
      submitOnChange: true,  // 为true 
    },

schemas 下有设置 defaulfValue, submitOnChange: true 时,会执行两次请求 getTable

复现 Bug

请描述在演示页面中复现 Bug 的详细步骤,以确保我们可以理解并定位问题。部分 Bug 如果未在 Demo 中涉及,请务必提供关键代码

系统信息

  • 操作系统:
  • Node 版本:
  • 包管理器 (npm/yarn/pnpm) 及其版本:
@DesignHhuang
Copy link
Contributor

如果一次是默认请求,一次是表格项OnChange导致的话,可以试试将immediate设为false
image

@zs555zs
Copy link
Author

zs555zs commented Nov 2, 2023

如果一次是默认请求,一次是表格项OnChange导致的话,可以试试将immediate设为false image

这样确实可以

@Jzow
Copy link

Jzow commented Nov 10, 2023

这个参数在table里一点效果没有

 const [registerTable, { getSelectRows, reload }] = useTable({
      title: '操作',
      rowKey: 'id',
      columns: ReceiptColumn,
      api: getReceipt,
      searchInfo: {
        "type": type.value,
        "subType": subType.value,
      },
      rowSelection: {
        type: 'radio',
      },
      formConfig: {
        labelWidth: 110,
        schemas: searchSchema,
      },
      showIndexColumn: false,
      bordered: true,
      showTableSetting: true,
      canResize: true,
      tableSetting: { fullScreen: true },
      useSearchForm: true,
      clickToRowSelect: true,
      immediate: false,
    });

他放在table里的目的又是什么 如果只是为了解决ApiSelect

@DesignHhuang
Copy link
Contributor

这个参数在table里一点效果没有

 const [registerTable, { getSelectRows, reload }] = useTable({
      title: '操作',
      rowKey: 'id',
      columns: ReceiptColumn,
      api: getReceipt,
      searchInfo: {
        "type": type.value,
        "subType": subType.value,
      },
      rowSelection: {
        type: 'radio',
      },
      formConfig: {
        labelWidth: 110,
        schemas: searchSchema,
      },
      showIndexColumn: false,
      bordered: true,
      showTableSetting: true,
      canResize: true,
      tableSetting: { fullScreen: true },
      useSearchForm: true,
      clickToRowSelect: true,
      immediate: false,
    });

他放在table里的目的又是什么 如果只是为了解决ApiSelect

image
在有api的情况下,这个参数可以控制表格是否立即去请求数据。

@Jzow
Copy link

Jzow commented Nov 10, 2023

在有api的情况下,这个参数可以控制表格是否立即去请求数据。

就上面的demo当他为false的时候他是可以阻止打开table去直接请求,但是什么时候触发true 请求

@DesignHhuang
Copy link
Contributor

在有api的情况下,这个参数可以控制表格是否立即去请求数据。

就上面的demo当他为false的时候他是可以阻止打开table去直接请求,但是什么时候触发true 请求

reload(),或者控制fetch

@Jzow
Copy link

Jzow commented Nov 10, 2023

在有api的情况下,这个参数可以控制表格是否立即去请求数据。

就上面的demo当他为false的时候他是可以阻止打开table去直接请求,但是什么时候触发true 请求

reload(),或者控制fetch

    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
      setModalProps({confirmLoading: false, destroyOnClose: true, width: 1200});
      type.value = data.type
      subType.value = data.subType
      getTitle.value = data.title
      reload({
        "type": type.value,
        "subType": subType.value,
      });
    });
    
    export function getReceipt(params: queryReceipt, type: string, subType: string) {
    console.info(params)
    console.info(type)
    console.info(subType)
    return defHttp.get<BaseDataResp<ReceiptResp>>(
        {
            url: API.GetOtherReceipt,
            params: params
        }
    );
}

这样的话它好像并没有把值传到Api当中 打印出的结果都是undefined,显然我在传递之前确保他肯定是有值

@Jzow
Copy link

Jzow commented Nov 10, 2023

#1407 #3269

@github-actions github-actions bot locked and limited conversation to collaborators Aug 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants