Skip to content

'input_filter' Not Applied in Dropdown editable #5370

@ContaportableDesarrollo02

Description

Duplicate Check

Describe the bug

The input_filter property is available, but it is not being applied. The editable dropdown still allows any text input, regardless of the filter settings.

Image

Code sample

Code
import flet as ft

def main(page: ft.Page):
    page.add(
        ft.DataTable(
            width=700,
            border=ft.border.all(2, ft.Colors.RED),
            border_radius=10,
            vertical_lines=ft.border.BorderSide(3, ft.Colors.BLUE),
            horizontal_lines=ft.border.BorderSide(1, ft.Colors.GREEN),
            sort_column_index=0,
            sort_ascending=True,
            heading_row_color=ft.Colors.BLACK12,
            heading_row_height=100,
            # show_checkbox_column=True,
            divider_thickness=0,
            column_spacing=0,  # Cambia de 200 a 0 para eliminar espacios entre columnas
            # data_row_min_height=40,  # Altura mínima de las filas
            columns=[
                ft.DataColumn(
                    ft.Text("Editable Text"),
                    heading_row_alignment=ft.MainAxisAlignment.CENTER,
                    on_sort=lambda e: print(f"{e.column_index}, {e.ascending}"),
                ),
                ft.DataColumn(
                    ft.Text("Dropdown"),
                    tooltip="Columna con dropdown",
                    heading_row_alignment=ft.MainAxisAlignment.CENTER,
                    on_sort=lambda e: print(f"{e.column_index}, {e.ascending}"),
                ),
            ],
            rows=[
                ft.DataRow(
                    [
                        ft.DataCell(
                            ft.TextField(
                                value="A", 
                                expand=True,
                                border=ft.InputBorder.NONE,  # Sin borde
                                content_padding=ft.padding.all(0)  # Sin padding
                            )
                        ),
                        ft.DataCell(
                            ft.Dropdown(
                                expand=True,
                                expand_loose=True,
                                editable=True,
                                enable_search=True,
                                enable_filter=True,
                                border_width=0,
                                input_filter=ft.NumbersOnlyInputFilter(),
                                options=[
                                    ft.dropdown.Option("1"),
                                    ft.dropdown.Option("2"),
                                    ft.dropdown.Option("3"),
                                ],
                                value="1",
                            )
                        ),
                    ],
                    selected=True,
                    on_select_changed=lambda e: print(f"row select changed: {e.data}"),
                ),
                ft.DataRow(
                    [
                        ft.DataCell(
                            ft.TextField(
                                value="B", 
                                expand=True,
                                border=ft.InputBorder.NONE,
                                content_padding=ft.padding.all(0)
                            )
                        ),
                        ft.DataCell(
                            ft.Dropdown(
                                expand=True,
                                expand_loose=True,
                                editable=True,
                                enable_search=True,
                                enable_filter=True,
                                border_width=0,
                                border_radius=0,
                                # content_padding=ft.padding.all(50),
                                options=[
                                    ft.dropdown.Option("Opción 1"),
                                    ft.dropdown.Option("Opción 2"),
                                    ft.dropdown.Option("Opción 3"),
                                ],
                                value="Opción 2",
                            )
                        )
                    ]
                ),
            ],
        ),
    )

ft.app(target=main)

To reproduce

Write in the entry of dropdown

Expected behavior

No response

Screenshots / Videos

Captures

[Upload media here]

Operating System

Windows

Operating system details

Windows 11

Flet version

0.28.3

Regression

No, it isn't

Suggestions

No response

Logs

Logs
[Paste your logs here]

Additional details

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions