Rumah  >  Soal Jawab  >  teks badan

Jadual Tanstack dan React JS: Bagaimana untuk menunjukkan/menyembunyikan butang berdasarkan keadaan apabila menggunakan React JS dan Jadual Tanstack

<p>Saya telah react js dan melaksanakan jadual tanstack (react-table). Saya memerlukan bantuan untuk membuat butang/pautan menunjukkan atau menyembunyikan berdasarkan keadaan setiap baris. Katakan jika terdapat baris yang mengandungi status butang "Luluskan" akan ditunjukkan sebaliknya ia akan disembunyikan. </p> <pre class="brush:php;toolbar:false;">......sesetengahnya memulakan data const [sorting, setSorting] = useState<SortingState>([]); const [rowSelection, setRowSelection] = useState({}); const [isApproved, setIsApprove] = useState(false); ... ruangan panggilan lajur const = useMemo<ColumnDef<IEvent>[]>( ...senarai lajur { accessorKey: "status", pengepala: () => <span>Status</span> sel: (sel: mana-mana) => biarkan status = cell.getValue(); kembalikan cell.getValue(); }, enableIsihan: benar, enableColumnFilter: benar, }, { accessorKey: "tindakan", pengepala: () => <span>Tindakan</span>, sel: (sel: mana-mana) => console.log(isApproved); kembali ( <div className="gap-x-2 inline-flex"> <Pautan ke={`./${cell.row.id}/edit`}>Edit</Link> <EVSDeleteButton id={cell.row.id} header="acara" <Pautan ke={`./${cell.row.id}/agenda`}>Agenda</Link> </div> ); }, enableIsihan: palsu, enableColumnFilter: palsu, },</pre> <p>Saya mahu dapat menunjukkan/menyembunyikan butang ("Agenda") bergantung pada keadaan setiap baris</p>
P粉042455250P粉042455250434 hari yang lalu675

membalas semua(2)saya akan balas

  • P粉555682718

    P粉5556827182023-09-03 20:38:40

    Pernahkah anda menggunakan operator ternary, Conditional (ternary) operator

    balas
    0
  • P粉006847750

    P粉0068477502023-09-03 19:44:13

    Anda boleh menggunakan nilai cell.row.original.status 访问每行的 status dan memaparkan butang berdasarkan nilai tersebut dan bukannya menyimpannya dalam pembolehubah keadaan.

    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>
          ),

    balas
    0
  • Batalbalas