как поменять запрос? react typescript

Рейтинг: 0Ответов: 0Опубликовано: 07.03.2023

export const exportDrafts = async ({
  userRole,
  type,
  dateFrom,
  dateTo,
  filterForm,
}: ExportDraftInput) => {
  const params: ExportDraftRequestPayload = { type };
  if (dateFrom) {
    params.from = dateFrom;
  }
  if (dateTo) {
    params.to = dateTo;
  }
  if (type) {
    params.type = type;
  }
  if (filterForm) {
    params['form'] = filterForm; // тут ошибка Type 'string[]' is not assignable to type 'string'
  }

  const response = await api.get<Blob>(`/${userRole}/insurance-drafts/export`, {
    params,
    responseType: "blob",
  });

  const blob = new Blob([response.data], { type: "application/zip" });
  saveAs(blob, `drafts_${dayjs().format("DD-MM-YYYY_HH-mm-ss")}.xlsx`);
};

на данный момент filterForm имеет тип string[] (массив строк) и в типах form тоже объявлена как string[]

я пыталась заменить пустой массив на пустую строку или убрать вообще условие, но это не так работает, видимо((

const filterForm = useMemo(
  () => (qsFilterForm ? qsFilterForm.split(",") : []),
  [qsFilterForm]
);

но мне нужно сделать так, чтобы в теле запроса было не ?type=mytype&form[]=standard, а ?type=mytype&form=standard

без этого массива после слова форм как это можно исправить?

Ответы

Ответов пока нет.