#2347·dash

Problem with Dash DataTable Pagination

Author: ak4-shCreated Dec 1, 2022Updated Sep 16, 2026
LabelsbugP3

I've run into a bug with Dash datatables, where tables with pagination that have tooltips keep generating errors if you hover over them. The DataTable becomes non responsive after the errors are thrown, and doesn't work until you refresh the app.

Made a simple dash app to reproduce the error. To trigger the issue navigate the table until you find the highlighted cell and hover over the table. The dash app code is:

from datetime import date

import dash_bootstrap_components as dbc
import dash_core_components as dcc
import dash_html_components as html
import dash_table
import pandas as pd

from dash.dependencies import Input, Output
import pandas as pd

import dash

df = pd.read_csv(
    "https://raw.githubusercontent.com/plotly/datasets/master/gapminder2007.csv"
)[["country", "pop", "continent", "lifeExp"]]

print("Columns: ", df.columns)

app = dash.Dash(__name__)

app.layout = html.Div([
    dash_table.DataTable(
        id='datatable-row-ids',
        columns=[
            {'name': i, 'id': i, 'deletable': True} for i in df.columns
            # omit the id column
            if i != 'id'
        ],
        data=df.to_dict('records'),
        editable=True,
        filter_action="native",
        sort_action="native",
        sort_mode='multi',
        row_selectable='multi',
        row_deletable=True,
        selected_rows=[],
        page_action='native',
        page_current= 0,
        page_size= 10,
        style_data_conditional = [
            {
                        'if': {'row_index': 'odd'},
                        'backgroundColor': '#F4F5F7'
                    },
            {
                'if': {
                            'filter_query': '{country} = "India"',
                            'column_id': 'continent',
                        },
                        'backgroundColor': '#FEFAF3',
                        'color': '#E29F08',
            }
        ],
        tooltip_conditional = [
            {
                'if': {
                            'filter_query': '{country} = "India"',
                            'column_id': 'continent',
                        },
                        'type': 'markdown',
                        'value': 'Country: India',
            }
        ]
    ),
    html.Div(id='datatable-row-ids-container')
])


if __name__ == "__main__":
    app.run_server(debug=True)

My environment is as follows:

dash                      1.21.0
dash-bootstrap-components 0.13.0
dash-core-components      1.17.1
dash-html-components      1.1.4
dash-table                4.12.0

The error thrown in debug is:

This error originated from the built-in JavaScript code that runs Dash apps. Click to see the full stack trace or open your browser's console.)

resolve@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:175548

3446/hs/</<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:178094

3446/hs/<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:178228

3446/e/<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:174615

3446/Af</u</<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:280023

3446/Af</u<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:280035

3446/wc<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:207524

1294/i/<@http://127.0.0.1:8050/_dash-component-suites/dash_table/bundle.v4_12_0m1668077809.js:1:23324

t@http://127.0.0.1:8050/_dash-component-suites/dash_table/bundle.v4_12_0m1668077809.js:1:21684

3446/Af</c<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:279873

3446/Af<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:280363

5117/o/<@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:632

value@http://127.0.0.1:8050/_dash-component-suites/dash_table/async-table.js:2:305876

finishClassComponent@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:17295:33

updateClassComponent@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:17245:46

beginWork@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:18755:18

beginWork$1@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:23314:16

performUnitOfWork@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:22292:14

workLoopSync@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:22265:24

performSyncWorkOnRoot@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:21891:11

flushSyncCallbackQueueImpl/<@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:11224:26

unstable_runWithPriority@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:2685:14

runWithPriority$1@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:11174:12

flushSyncCallbackQueueImpl@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:11219:26

flushSyncCallbackQueue@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:11207:5

batchedEventUpdates$1@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:22012:9

batchedEventUpdates@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:792:14

dispatchEventForLegacyPluginEventSystem@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:3691:26

attemptToDispatchEvent@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:4390:46

dispatchEvent@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:4312:43

unstable_runWithPriority@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:2685:14

dispatchUserBlockingUpdate@http://127.0.0.1:8050/_dash-component-suites/dash/deps/[email protected]_21_0m1668077809.14.0.js:4295:20

Screenshots

Screenshot 2022-12-01 at 8 14 33 PM