Исправлена ​​ошибка с React Material-table для отображения удаленных данных - PullRequest
0 голосов
/ 03 мая 2020

У меня есть удаленные данные, которые отправляются в виде объекта массива. Я преобразовываю это в массив JSON, чтобы показать эти данные в таблице данных материала. Я могу вызвать API, и когда я регистрирую ответ, я могу видеть преобразованные JSON как данные ниже:

[{"xxxx":"xxxx","yyyy":5,"zzzz":3,"tttt":1,"qqqqq":"some-data"}]

К сожалению, я не могу показать эти данные в таблице, также осуществляя пейджинг также. Пожалуйста, найдите мои коды ниже и помогите мне решить эту проблему:

data={query =>
          new Promise((resolve, reject) => {
            let formData = new FormData();
            const userid = 'someID'

            formData.append('userid', userid);
            const config = {
              headers: { 'content-type': 'multipart/form-data' },
            };

            let url = 'http://urlendpoint?'
            url += 'per_page=' + query.pageSize
            url += '&page=' + (query.page + 1)
            fetch(url, {
              method: 'POST',
              body: formData,
              config
            })
              .then(response => response.json())
              .catch((error) => {
                console.log(error.response);
              })
              .then(result => {
                let resultData = JSON.stringify(result);
                console.log('result: ' + resultData);
                resolve({
                  data: resultData,
                  page: resultData.page - 1,
                  totalCount: resultData.total,
                })
              })
          })
        }

Кроме того, я перехожу по этой ссылке для реализации таблицы материалов: https://material-table.com/# / docs / features / remote-data

1 Ответ

0 голосов
/ 03 мая 2020

Я фактически удалил преобразование в JSON строку и все работает отлично. Смотрите мои обновленные коды ниже:

data={query =>
  new Promise((resolve, reject) => {
    let formData = new FormData();
    const userid = 'someID'

    formData.append('userid', userid);
    const config = {
      headers: { 'content-type': 'multipart/form-data' },
    };

    let url = 'http://urlendpoint?'
    url += 'per_page=' + query.pageSize
    url += '&page=' + (query.page + 1)
    fetch(url, {
      method: 'POST',
      body: formData,
      config
    })
      .then(response => response.json())
      .catch((error) => {
        console.log(error.response);
      })
      .then(result => {
            resolve({
              data: result,
              page: result.page - 1,
              totalCount: result.total,
            })
          })
  })
}
...