cari

Rumah  >  Soal Jawab  >  teks badan

Kembangkan dan runtuhkan semua nod dalam MUI DataGrid melalui pengaturcaraan ReactJS

<p>Bagaimana untuk membuat semua baris berkembang/diruntuhkan secara pengaturcaraan dalam <kod>DataGrid</kod> </p> <p><strong>Apa yang telah saya cuba? </strong> Saya menggunakan sifat <code>defaultGroupingExpansionDepth</code> <pre class="brush:php;toolbar:false;">export const EXPAND_ALL = -1; eksport const COLLAPSE_ALL = 0; ... const [expandedState, setExpandedState] = useState(COLLAPSE_ALL); ... kembalikan <Timbunan> <Jarak timbunan={2} direction="row" m={1}> <Varian butang={"contained"} onClick={() => setExpandedState(EXPAND_ALL)}>Kembangkan semua</Button> <Varian butang={"contained"} onClick={() => setExpandedState(COLLAPSE_ALL)}>Runtuhkan semua</Button> </Timbunan> <DataGridPro treeData ... apiRef={dataGridApi} defaultGroupingExpansionDepth={expandedState} ... /> </Stack>;</pra> <p>Masalahnya, butang ini hanya berfungsi apabila pokok itu <strong>tidak</strong> </p> <p>Sebaik sahaja saya mengembangkan sebahagian grid pokok, butang tidak lagi berfungsi. Bagaimanakah saya boleh membuat butang ini berfungsi tanpa mengira keadaan semasa grid pokok yang dikembangkan/diruntuhkan? </p>
P粉068486220P粉068486220469 hari yang lalu676

membalas semua(1)saya akan balas

  • P粉722521204

    P粉7225212042023-08-14 09:01:23

    Nampaknya anda menggunakan sifat defaultGroupingExpansionDepth untuk mengawal keadaan pengembangan awal DataGrid, tetapi ia mungkin tidak mengemas kini secara dinamik semasa anda mengembangkan atau meruntuhkan baris. Untuk menjadikan butang berfungsi dalam keadaan kembangan/runtuh semasa, anda boleh menggunakan kaedah terkawaluntuk mengurus keadaan dikembangkan:

    <DataGridPro
        treeData
        apiRef={dataGridApi}
        groupingExpansionState={expandedState === EXPAND_ALL}
        onGroupingExpandedChange={(params) =>
          setExpandedState(params.expanded ? EXPAND_ALL : COLLAPSE_ALL)
        }
        // ...
      />

    balas
    0
  • Batalbalas