[bug] Quickly expanding several lines with a custom asychronous ExpandIcon onExpand call results in only one line expansion open
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- react, typescript
- Ambito
- frontend
Direzione di ricerca
Inizia con la riproduzione di App.jsx nell’issue oppure apri il CodeSandbox collegato, quindi segui il flusso di espansione di Table che coinvolge l’expandIcon personalizzato e il callback onExpand ritardato. Il lavoro è completato quando fare rapidamente clic su più righe con il ritardo di un secondo lascia espansa ogni riga selezionata, invece dell’ultima soltanto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Custom ExpandIcon quick expansion
How to reproduce
- Open the below code sandbox, or copy the below provided code into a project: CodeSandbox
- Open several rows in less than one second
Expected behavior: All the rows that have been clicked open and stay open
Actual behavior: The rows open, but close whenever another open and at the end, only one is open
This only happens when the clicking is done faster than the delay after which onExpand is called
Note:
- The code sandbox uses the following versions: "antd": "5.2.3", "react": "18.2.0"
- The problem has also been experienced with Ant Design 4.22.7, and React 17.0.2
App.jsx
I copy the code here in case the codesandbox is inaccessible or lost somehow.
import { Table } from "antd";
import "./styles.css";
export default function App() {
return (
<div className="App">
<h1>Hello Ant Design rc-table</h1>
<Table
columns={[{ dataIndex: "key" }]}
dataSource={[{ key: "bamboo" }, { key: "oak" }, { key: "cinnamon" }]}
expandable={{
expandedRowRender: (record) => <span>row-content-{record.key}</span>,
expandIcon: ({ onExpand, expanded, record }) => {
return (
<button
onClick={() => {
setTimeout(() => onExpand(record), 1000);
}}
>
{expanded ? "-" : "+"}
</button>
);
}
}}
/>
</div>
);
}
- Lingua principale
- TypeScript
- Stelle
- 1.4k
- Fork
- 619
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di react-component/table
-
Fixed-header tables force one getBoundingClientRect per column on every mount (ResizeObserver-driven MeasureCell)Forse già presa @rubenmarcus l’ha presa 11 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
react-component/table#1507 ·
-
rowExpandable does not work when dataSource has children fieldForse già presa @nrps9909 l’ha presa 46 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
react-component/table#1416 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
react-component/table#1403 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
react-component/table#1269 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
react-component/table#1257 · 1 reazione ·
Tutte le issue di react-component/table
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Agenta-AI/agenta#7542 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
code quality security
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
-
feat(icons): add [solidping]Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
homarr-labs/dashboard-icons#2939 ·
I maintainer di solito rispondono entro 1 giorno