Skip to content

[BUG] dcc.Loading stops spinning prematurely since version 3 #3594

@sergiykhan

Description

@sergiykhan

dcc.Loading often ends spinning prematurely before the menu is rendered. The two recordings below show:

  • no delay in version 2.18.2
  • about half a second delay for version 3.4.0

The problem appeared since version 3.

https://github.com/user-attachments/assets/46efa559-505e-4255-9c74-fff37ff80044
https://github.com/user-attachments/assets/9e21acbd-0130-4515-b1c6-18192e4cd7c9

Dash 3.4.0

dash                    3.4.0

Dash 2.18.2

dash                    2.18.2
dash-core-components    2.0.0
dash-html-components    2.0.0
dash-table              5.0.0
  • OS: Windows
  • Chrome 144.0.7559.110
from dash import Dash, dcc, html, dcc, Input, Output
import dash
from dash.exceptions import PreventUpdate
import time

options = [
    {"label": "aa1", "value": "aa1"},
    {"label": "aa2", "value": "aa2"},
    {"label": "aa3", "value": "aa3"},
    {"label": "best value", "value": "bb1"},
    {"label": "better value", "value": "bb2"},
    {"label": "bye", "value": "bb3"},
]

app = Dash(__name__)
app.layout = html.Div(
    [
        f"Dash Version: {dash.__version__}",
        dcc.Loading(
            dcc.Dropdown(id="my-dynamic-dropdown"),
            type='default',
            delay_show=0,
            delay_hide=0,
            overlay_style={
                'visibility': 'visible',
            },
        ),
    ],
    style={'width': 200, 'marginLeft': 20, 'marginTop': 20},
)


@app.callback(
    Output("my-dynamic-dropdown", "options"),
    Input("my-dynamic-dropdown", "search_value")
)
def update_options(search_value):
    if not search_value:
        raise PreventUpdate

    time.sleep(1.0)

    return [o for o in options if search_value in o["label"]]


if __name__ == "__main__":
    app.run(debug=True, port=5000)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions