Dropdown.expanded_insets has no effect
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Comienza en packages/flet/lib/src/controls/dropdown.dart, alrededor del cálculo de expandedInsets, y compáralo con la declaración de Python en sdk/python/packages/flet/src/flet/controls/material/dropdown.py:181. Verifica el ejemplo proporcionado con expand=True y, después, confirma que el cliente de Flutter usa los insets configurados cuando están presentes y conserva los insets con valor cero cuando no lo están; el ejemplo ya no debería ignorar expanded_insets.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
ft.Dropdown.expanded_insets is declared and documented in the Python SDK, but the Flutter client never reads it, so setting it has no effect.
- Python:
expanded_insets: Optional[PaddingValue] = None("The insets for the expanded dropdown menu"), insdk/python/packages/flet/src/flet/controls/material/dropdown.py:181 - Dart:
packages/flet/lib/src/controls/dropdown.dart:229derivesexpandedInsetsonly fromexpand:
It then passes that value toEdgeInsets? expandedInsets = expand > 0 ? EdgeInsets.zero : null;DropdownMenu(expandedInsets: ...)at line 253. There is nocontrol.get...("expanded_insets")anywhere in the client.
Code example to reproduce
import flet as ft
def main(page: ft.Page):
page.add(
ft.Row(
[
ft.Dropdown(
expand=True,
expanded_insets=ft.Padding.symmetric(horizontal=40),
options=[ft.DropdownOption(key="a", text="A")],
)
]
)
)
ft.run(main)
Expected behavior
With expand=True, the dropdown field is inset from its parent's edges by expanded_insets, as in Flutter's DropdownMenu.expandedInsets.
Actual behavior
The dropdown always fills its parent with zero insets (EdgeInsets.zero whenever expand is set). expanded_insets is ignored.
Suggested fix
In dropdown.dart, when expand > 0, use the parsed expanded_insets padding if it's set, otherwise EdgeInsets.zero. Or remove the property from the Python API if it isn't meant to be supported.
Flet version
1.0.1. Checked against main at 8ab92fbb.
Found while verifying Flet UI behaviour for the flet-ui-tricks agent skill.
- Lenguaje dominante
- Python
- Estrellas
- 17.1k
- Forks
- 708
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 46
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de flet-dev/flet
-
bug: Interactive Viewer renders grey text when passed alignmentPosiblemente ocupada @ndonkoHenri la tomó hace 6 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
flet-dev/flet#6744 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
feature: Dropdown on_click eventAbiertofeature request
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
Los mantenedores suelen responder en 1 día
Todos los issues de flet-dev/flet
Issues similares
-
bug server
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sportsdataverse/sportsdataverse-py#641 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
googleapis/google-cloud-python#18532 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día