[bug] Quickly expanding several lines with a custom asychronous ExpandIcon onExpand call results in only one line expansion open
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- react, typescript
- Domaine
- frontend
Piste de recherche
Commencez par la reproduction de App.jsx dans l’issue ou ouvrez le CodeSandbox lié, puis suivez le flux d’expansion de Table impliquant l’expandIcon personnalisé et le callback onExpand différé. C’est terminé lorsque le fait de cliquer rapidement sur plusieurs lignes avec le délai d’une seconde laisse chaque ligne cliquée développée, plutôt que seulement la dernière.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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>
);
}
- Langage dominant
- TypeScript
- Étoiles
- 1.4k
- Forks
- 623
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de react-component/table
-
Fixed-header tables force one getBoundingClientRect per column on every mount (ResizeObserver-driven MeasureCell)Peut-être pris @rubenmarcus l’a pris il y a 18 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
react-component/table#1507 ·
-
rowExpandable does not work when dataSource has children fieldPeut-être pris @nrps9909 l’a pris il y a 53 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 50/100
react-component/table#1416 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
react-component/table#1403 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
react-component/table#1269 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
react-component/table#1257 · 1 réaction ·
Toutes les issues de react-component/table
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Pet submission: Sleepwing / 眠翼鸟Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
OpenPetsHQ/openpets#273 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
fritzprix/libr-agent#2161 ·
Les mainteneurs répondent en général sous 1 jour
-
macOS: clicking a menu item that has a submenu closes the menu instead of opening the submenuOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
blackboardsh/electrobun#581 ·
-
backlog-skill effort:xs frontend infra ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
LucasSantana-Dev/Lucky#2862 ·
Les mainteneurs répondent en général sous 1 jour