-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Open
Description
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
Labels
No labels