Tanstack Table et React JS : Comment afficher/masquer les boutons en fonction de l'état lors de l'utilisation de React JS et Tanstack Table
P粉042455250
2023-09-02 23:04:17
<p>J'ai réagi js et implémenté une table tanstack (react-table). J'ai besoin d'aide pour afficher ou masquer les boutons/liens en fonction de l'état de chaque ligne.
Supposons que s'il y a une ligne contenant le statut, le bouton "Approuver" sera affiché, sinon il sera masqué. </p>
<pre class="brush:php;toolbar:false;">......certaines données d'initialisation
const [tri, setSorting] = useState<SortingState>([]);
const [rowSelection, setRowSelection] = useState({});
const [isApproved, setIsApprove] = useState(false);
...colonne d'appel
const colonnes = useMemo<ColumnDef<IEvent>[]>(
...liste des colonnes
{
accessorKey : "statut",
en-tête : () => <span>Status</span>,
cellule : (cellule : n'importe laquelle) =>
let status = cell.getValue();
return cell.getValue();
},
activer le tri : vrai,
activerColumnFilter : vrai,
},
{
accessorKey : "actions",
en-tête : () => <span>Action</span>,
cellule : (cellule : n'importe laquelle) =>
console.log(isApproved);
retour (
<div className="inline-flex gap-x-2">
<Lien vers={`./${cell.row.id}/edit`}>Modifier</Link>
<EVSDeleteButton id={cell.row.id} en-tête="événement" />
<Lien vers={`./${cell.row.id}/agenda`}>Agenda</Link>
</div>
);
},
activer le tri : faux,
activerColumnFilter : faux,
},</pré>
<p>Je souhaite pouvoir afficher/masquer le bouton ("Agenda") en fonction de l'état de chaque ligne</p>
Avez-vous déjà utilisé l'opérateur ternaire, Opérateur conditionnel (ternaire)
Vous pouvez utiliser la valeur
cell.row.original.status
访问每行的status
et afficher le bouton en fonction de cette valeur au lieu de le stocker dans une variable d'état.