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
P粉042455250 2023-09-02 23:04:17
0
2
628
<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>
P粉042455250
P粉042455250

répondre à tous(2)
P粉555682718

Avez-vous déjà utilisé l'opérateur ternaire, Opérateur conditionnel (ternaire)

P粉006847750

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.

cell: (cell: any) => (
        <div className="inline-flex gap-x-2">
          <Link to={`./${cell.row.original.id}/edit`}>Edit</Link>
          {cell.row.original.status === "Approved" && (
            <Link to={`./${cell.row.original.id}/agenda`}>Agenda</Link>
          )}
        </div>
      ),
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!