вкладки dash не раскрываются при загрузке страницы

#python #tabs #plotly-dash

#python #вкладки #plotly-dash

Вопрос:

У меня есть простое приложение dash с двумя вкладками. Один для отображения графика, а другой для переноса некоторого текста. Я вижу вкладку в свернутом состоянии, и чтобы развернуть ее, я должен щелкнуть. Скорее, я хочу, чтобы вкладка находилась в развернутом состоянии при загрузке. Ниже приведен код. Я попытался указать высоту тега DIV (код не включен), но безуспешно. Чего мне здесь не хватает? Ценю вашу помощь. Спасибо.

 import plotly.graph_objects as go
import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash(
    __name__,
    meta_tags=[{'name': 'Test'}],
)

layout_dashboard1 = html.Div(
    id="maindiv",
    children=[
        html.Div(children=[
            dcc.Tabs(id="tabs", value='tabs', children=[
                dcc.Tab(label='Tab 1', value='Tab 1',children=[
                        html.Div(
                            id="causal_card_graph",
                            children=[
                                dcc.Graph(id='graph1'),
                            ],
                        ),
                    ]),
                dcc.Tab(label='Tab 2', value='Tab 2', children=[html.Label("Test")]),
            ]),
        ]),
    ])

server=app.server
app.layout = layout_dashboard1

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

Ответ №1:

У меня была такая же проблема. Чтобы решить эту проблему, вы должны назначить a value своему dcc.Tab , который вы хотите расширить. Затем вы присваиваете это же значение dcc.Tabs элементу. Я вызвал это tab-1-should-be-displayed в приведенном ниже коде.

 import plotly.graph_objects as go
import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash(
    __name__,
    meta_tags=[{'name': 'Test'}],
)

layout_dashboard1 = html.Div(
    id="maindiv",
    children=[
        html.Div(children=[
            dcc.Tabs(id="tabs", value='tab-1-should-be-displayed', children=[
                dcc.Tab(label='Tab 1', value='tab-1-should-be-displayed', children=[
                        html.Div(
                            id="causal_card_graph", 
                            children=[
                                dcc.Graph(id='graph1'),
                            ],
                        ),
                    ]),
                dcc.Tab(label='Tab 2', value='tab-2-should-be-displayed', children=[html.Label("Test")]),
            ]),
        ]),
    ])

server=app.server
app.layout = layout_dashboard1

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