cls=None renders as literal string 'None' in HTML class attribute
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia dal punto di ingresso monsterui.franken.Card e riproduci il problema usando to_xml(Card("content", cls=None)). Segui il percorso di costruzione delle classi per trovare dove None diventa una stringa; il lavoro è completato quando cls=None omette "None" e mantiene le classi predefinite del componente, come nel comportamento di un argomento cls omesso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Passing cls=None to MonsterUI components results in the literal string "None" appearing in the rendered HTML class attribute, rather than the attribute being omitted.
Reproduction
from monsterui.franken import Card
print(to_xml(Card("content", cls=None)))
# Renders: <div class="None uk-card ...">content</div>
# ^^^^^ literal "None"
Expected behaviour
When cls=None is passed, the cls argument should be treated as absent — the same as not passing cls at all. The class attribute should contain only the component's default classes.
Current workaround
Every wrapper in downstream code must guard against None explicitly:
# Required in every wrapper to avoid "None" appearing in class output
MCardBody(*c, cls=cls, **kwargs) if cls else MCardBody(*c, **kwargs)
This boilerplate is needed on every component wrapper and is easy to forget.
Suggested fix
Guard against None in the class-building path so cls=None is equivalent to cls="" or omitting cls.
- Lingua principale
- Jupyter Notebook
- Stelle
- 525
- Fork
- 34
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 AnswerDotAI/MonsterUI
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
AnswerDotAI/MonsterUI#163 ·
-
httpx dependency missingAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AnswerDotAI/MonsterUI#161 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
AnswerDotAI/MonsterUI#164 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
AnswerDotAI/MonsterUI#148 ·
-
Port does not releaseAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
AnswerDotAI/MonsterUI#144 ·
Tutte le issue di AnswerDotAI/MonsterUI
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
area:desktop priority:p2 type:chore
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
area: right sidebar
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
zulip/zulip#40449 · 3 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno