【问题标题】:dash plotly bootstrap number input placing破折号情节引导数字输入放置
【发布时间】:2021-06-06 13:11:50
【问题描述】:

所以我想如图所示放置我的文本框

但是,我的代码不起作用,而是向我显示这个

这是我的编码:

html.H1("Query1", style={'text-align': 'center','fontSize': 30}),
            dbc.Row(
                [
            dbc.Col(dcc.Graph(id='graphQ', figure={}),md=8),
            html.P("1"),
            dbc.Col(dbc.Input(type="number", min=0, max=10, step=1),),
            html.P("2"),
            dbc.Col(dbc.Input(type="number", min=0, max=10, step=1)),
            ]),
            dbc.Row(
                [
            html.P("1"),
            dbc.Col(dbc.Input(type="number", min=0, max=10, step=1),),
            html.P("2"),
            dbc.Col(dbc.Input(type="number", min=0, max=10, step=1),)],
                align="end",
            )
            ])]))

感谢任何帮助!

【问题讨论】:

    标签: python plotly plotly-dash


    【解决方案1】:

    你可以这样做:

    def custom_input(paragraph_text, min_value=0, max_value=10, step=1):
        return html.Div(
            children=[
                html.P(paragraph_text, style={"paddingRight": 10}),
                dbc.Input(type="number", min=min_value, max=max_value, step=step),
            ],
            style={"display": "flex"},
        )
    
    
    app.layout = html.Div(
        children=[
            html.H1("Query1", style={"textAlign": "center", "fontSize": 30}),
            dbc.Row(
                [
                    dbc.Col(dcc.Graph(id="graphQ", figure={}), md=8),
                    dbc.Col(
                        children=[
                            dbc.Row(
                                [
                                    dbc.Col(custom_input("1")),
                                    dbc.Col(custom_input("2")),
                                ],
                                style={"paddingBottom": 30},
                            ),
                            dbc.Row(
                                [
                                    dbc.Col(custom_input("1")),
                                    dbc.Col(custom_input("2")),
                                ],
                                style={"paddingBottom": 30},
                            ),
                        ],
                        md=4,
                    ),
                ]
            ),
        ]
    )
    

    我已将您的标签/输入组件组合抽象为一个自定义函数,希望使布局方法更清晰,代码更可重用。

    所以我的想法是我们只需要一行两列。其中第一列包含整个图表。

    第二列由两行组成,每行包含两列,每列包含一个自定义输入。

    【讨论】:

    • 感谢您的解释,代码也可以工作:)!
    • 很高兴为您提供帮助。顺便说一句,除了接受答案之外,您还可以对您认为有帮助的答案进行投票(因为您已经通过了 15 名声望的投票门槛)。
    • 我对答案投了赞成票,如果你不介意,我有一个 qn,所以我正在使用小数点,例如:5.9。我可以将 dbc.Input(type="number") 更改为 dbc.Input(type="float") 吗?或者有没有其他方法。谢谢!
    • dbc.Input 支持the following control typesdbc.Input 呈现为常规的input,因此您可以查看此question 以了解适用于您情况的想法。所以这个问题并不是真正的 Dash 问题,而更像是一个常规的 html 输入问题。
    • 查看我之前分享的 stackoverflow 帖子,可行的解决方案可能是使用 javascript 或使用 pattern 属性并使用正则表达式匹配有效的输入值。
    猜你喜欢
    • 2020-09-30
    • 2020-07-06
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多