plotly / plotly/dash

aio components custom attributes not passed down

Ouverte
#2,004 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug P3
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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.