Screen not clearing current pages Data when changing Tabs

I have created 9 tabs. The first tabs allows for the input of Data and the following 8 tabs each perform some sort of statistical test on them.

Initially just inserting graphs seemed to work fine. However after I started adding inputs and tables of Data I started getting an odd occurrences where even if I changed the tab it would continue to display the graph of the previous tab.

This does not extend to tabs that are blank. It is like the display graph id is returning the wrong id.

Has anyone experienced this and have they found a work around?

edit:

The final message I get in my terminal is

127.0.0.1 - - [14/Aug/2018 15:10:45] “POST /_dash-update-component HTTP/1.1” 200 -

So after playing around with my data I have found that it is the

html.Div(dte.DataTable(rows=[{}], id='table'))

and

@app.callback(Output('table', 'rows'),
              [Input('upload-data', 'contents'),
               Input('upload-data', 'filename')])
def update_output(contents, filename):
    if contents is not None:
        df = parse_contents(contents, filename)
        if df is not None:
            return df.to_dict('records')
        else:
            return [{}]
    else:
        return [{}]

That is breaking the tabs. When removed it all goes back to working.
(I stole this from https://github.com/plotly/dash-recipes/blob/master/upload-data-to-table.py)

had he same issue when returning an empty graph…

its a bug i guess :frowning:

Then let us make sure to notify @chriddyp if a bug might be lurking in the shadows. :man_technologist: :slightly_smiling_face:

sound like a job for batman! haha

It does sound like it might be some kind of bug, but it’s hard to know without seeing a complete, reproducable example. Could someone create a complete but minimal reproducable for this?

Hello

I realises that it has been a long time since I posted this however I am having the same problem again and have stripped my code down to nothing (and the problem still persists).

import dash_html_components as html
import dash_core_components as dcc
import dash

app = dash.Dash()

app.scripts.config.serve_locally = True
app.layout = html.Div([
    dcc.Tabs(
        children = [
            dcc.Tab(
                children = [
                    dcc.Input(
                        id = "input_1",
                        type = "number",
                        min = 0,
                    ),
                ],
                label = "thing_1",
            ),
            dcc.Tab(
                children = [
                    dcc.Input(
                        id = "input_2",
                        type = "number",
                        min = 0,
                    ),
                ],
                label = "thing_2",
            ),
        ]
    ),
])

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

If one puts a number within the input box and then change tabs, the screen doesn’t change.
What seems to be happening is despite the fact they have nothing to do with each other the inputs are taking each others value.

Many Thanks

I am facing same issue and I also stole same upload data table logic from the link https://github.com/plotly/dash-recipes/blob/master/upload-data-to-table.py

Initially it was working fine but suddenly don’t know what happened snapshot of previous tab is coming under each tab .

Please help @chriddyp chriddyp

The issue is resolved now.
It was because of the new version of dash.