Je suis nouveau dans React et react-admin, alors peut-être que je fais quelque chose de mal. Mon api renvoie les enregistrements de MySQL et les champs nuls sont renvoyés comme "null". Dans la liste d'enregistrements apparaissant sur le client, le champ indique également "null". Puis-je traduire cela en blanc sur le front-end ou l'API doit-elle renvoyer une chaîne vide au lieu de null?

Voici les résultats json de l'API:

{
      "id": 79874,
      "itemNumber": "PUM_10550101-2",
      "amazonSku": null
}

Et voici la définition de la liste:

export const ItemList = props => (
  <List {...props} filters={<ItemFilter />}>
    <Datagrid rowClick="edit">
      <TextField source="itemNumber" label="Item Number" />
      <TextField source="amazonSku" label="Amazon Sku" />
    </Datagrid>
  </List>
);

Et voici à quoi il ressemble une fois rendu:

enter image description here

Aimerait juste voir les blancs là où se trouvent les valeurs nulles, si cela a du sens. Merci

0
Dan G. 14 avril 2020 à 01:47

2 réponses

Meilleure réponse

Ce problème vient d'être corrigé dans la version react-admin 3.4.1 .

Le correctif exact est ici: https://github.com/marmelab/react-admin/ tirer / 4661

Mettez simplement à niveau le package react-admin vers cette dernière version. Il s'agit généralement d'un yarn upgrade react-admin.

0
Radu 14 avril 2020 à 16:58

Je ne sais pas si c'est la meilleure façon de le faire, mais a créé un nouveau champ qui a renvoyé la source d'enregistrement dans un intervalle (je ne sais pas vraiment pourquoi cela a fonctionné):

import React from 'react';

const TextNullableField = ({ record = {}, source }) => {
  return (
    <span>{record[source]}</span>
  );
}
export default TextNullableField;

Ensuite, importé dans le fichier resource js et ajouté à la ressource:

  <TextNullableField source="amazonSku" label="Amazon Sku" />

Maintenant, le champ est vide s'il est passé comme nul à partir de la base de données:

enter image description here

0
Dan G. 14 avril 2020 à 05:10