aio components custom attributes not passed down
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 24.4k
- Forks
- 2.3k
- Merge moyen
- 2 j 7 h
- PR mergées (30 j)
- 13
Description
Describe your context
dash 2.3.1
dash-core-components 2.0.0
dash-html-components 2.0.0
dash-labs 1.0.3
dash-table 5.0.0
Following six line demonstrator works with static layout:
app.layout = layout()
but fails to initialise when invoked dynamically:
app.layout = layout
The issue is with the method simple_clone(), in dash.py/L566. The Dash layout clone method
fails to pass in the value total_items=100. This is significant problem since the sub-classing the
standard Dash components is used extensively when implementing the reusable components
AIO pattern.
class MyDiv(html.Div):
def __init__(self, children=None, className='some-class', total_items=None, page_size=10):
# Fails with TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'
pages = total_items / page_size
print(pages)
super().__init__(pages, className=className)
def layout():
return MyDiv(total_items=100)
Guide de contribution
Ouvrir le guide de contribution
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.
Piste de recherche
Commencez dans dash.py autour de L566 et examinez simple_clone() à l’aide de l’exemple MyDiv fourni. Comparez le layout() statique au layout dynamique et vérifiez que l’attribut personnalisé total_items=100 est conservé afin que le layout dynamique s’initialise sans le TypeError indiqué.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- frontend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 45/100