J'ai une colonne dans material-table avec des valeurs telles que succès, échec, etc. Sur la base de ces valeurs, je dois appliquer une couleur sur la cellule. Comment y parvenir à l'aide de material-table .
3 Réponses :
Tout d'abord, vous avez besoin de classes dont chacune a le style que vous désirez, puis vous pouvez trouver des
<TableCell align="right"> <span className={row.value === "success" ? "text-success" : "text-warning"}>{row.value}</span> </TableCell>
dans votre code Ui matrial, puis vous devez créer un intervalle dans lequel il y aura valeurs de table par exemple:
<TableCell align="right"> <span>{row.value}</span> </TableCell>
alors vous devez vérifier quelle est votre valeur, par exemple si elle est réussie renvoyer la classe vous voulez et si c'est quelque chose, donnez une autre classe
<TableCell align="right">{row.calories}</TableCell> <TableCell align="right">{row.fat}</TableCell> <TableCell align="right">{row.carbs}</TableCell> <TableCell align="right">{row.protein}</TableCell>
J'espère que cela vous aidera
ce n'est pas lié à la question d'OP, c'est un simple style de table, il parle de Material-Table, c'est un package séparé.
@HadiPawar Bien, cette question a 2 hashtags Material-UI et Material-Table, je pense que ce n'est pas une mauvaise idée de garder cette réponse pour ceux qui recherchent une réponse à la table Material-Ui, cela pourrait aider quelqu'un à l'avenir, merci pour votre commentaire
Cette réponse est spécifique pour réagir material-table
Dans la section des colonnes, nous devons ont quelque chose comme mentionné ci-dessous, donc lorsque les données sont rendues dans le tableau, elles appliqueront conditionnellement un style basé sur les valeurs des cellules.
{ title: 'Status', field: 'status', render: rowData => { return rowData.status == "Pending" ? <p style={{ color: "#E87722", fontWeight: "bold" }}>{rowData.status}</p> : rowData.status == "SUCCESS" ? <p style={{ color: "#008240", fontWeight: "bold" }}>{rowData.status}</p> : <p style={{ color: "#B0B700", fontWeight: "bold" }}>{rowData.status}</p> } }
est de toute façon là pour mettre le débogueur à l'intérieur de rendu? Je veux vérifier la valeur rowData?
Je suis surpris de savoir que ce n'est pas quelque part visible dans la documentation, j'ai passé des heures à essayer d'obtenir ce travail et j'étais sur le point d'utiliser autre chose. Merci !
J'ai ajouté le style dans la déclaration des colonnes.
const columns = [ { title: "ID", field: "_id" }, { title: "Email", field: "email" }, { title: "First Login", field: "first_login", cellStyle: (e, rowData) => { if (!rowData.first_login) { return { color: "red" }; } }, }, ];