Как изменить выходы в двух вкладках, используя одну кнопку ввода в da sh? - PullRequest
0 голосов
/ 10 января 2020

Я работаю над изменением выходных данных на двух вкладках с помощью одной кнопки ввода, и у меня возникла проблема.

Существует файл Excel, который фильтруется при вводе, а затем этот фрейм данных используется для создавать графики и диаграммы на вкладке 1 и другие графики на вкладке 2.

Я поместил кнопку ввода на 1-й вкладке. Теперь я хочу, чтобы при вводе чего-либо на 1-й вкладке выходные данные обеих вкладок влияли (только на 1 вкладку). - Сначала мы видим кнопку ввода, а затем обе вкладки появляются с графиками.

Вот мой код:

df1=pd.read_excel("...")

app.layout = html.Div([dashboard,
                            html.Div(
                                dcc.Input(id='AgentID', type='text')),
                                html.Button('Submit', id='button'),
                       dcc.Tabs(id="tabs-example", value='tab-1-example',
                                children=[
                                    dcc.Tab(label='Tab1', value='tab-1'),
                                    dcc.Tab(label='Tab2', value='tab-2')
                                    ],
                   ],html.Div(id='output-tab'))

   @app.callback(
       dash.dependencies.Output('output-tab', 'children'), 
       [dash.dependencies.Input('button', 'n_clicks')], 
       [dash.dependencies.State('AgentID', 'value')])

   @app.callback(Output('tabs-content-example', 'children'),
        [Input('tabs-example', 'value')])

   def update(n_clicks, value):
        if n_clicks == None:
           df = df1.copy()
        else:
           df = df1[df1['ID'] == value]

   #. . . defining variables to be used in making plots...#

     def render_content(tab):
         if tab == 'tab-1':
             return html.Div(
                             className="row",
                             children= [
                                        html.Div(
    # ...................plotting the graphs.................#

     elif tab == 'tab-2':
        return html.Div

     if __name__ == '__main__':
         app.run_server()
...