Как отобразить некоторый текст перед значением из обратного вызова Dash?

#python #html #dashboard #plotly-dash

#python #HTML #Информационная панель #plotly-dash

Вопрос:

Используя Plotly Dash, у меня есть строка html.H6(id='output_div') , которая отображает целое число (скажем, 10).

Я хотел бы отобразить некоторый текст перед этим целым числом (скажем, «Это целое число»). Я не могу использовать {}.format() функцию обратного вызова, потому что мне нужно ввести это целое число в другую функцию обратного вызова.

Как я могу изменить html.H6(id='output_div') отображение «Это целое число 10» в одной строке вместо «10»?

Комментарии:

1. Просто, вы сохраняете его в переменной и печатаете эту переменную, а затем позже передаете эту переменную в функцию обратного вызова (если я вас правильно понял?)

2. Ну, переменная хранится как ‘output_div’ в Dash. Но я не уверен, что его можно распечатать без использования Dash. Следовательно, вопрос заключается в том, как распечатать его по мере необходимости с помощью Dash.

Ответ №1:

Использование html.Span — один из способов.

Ваш макет будет содержать:

 html.H6(
    id='output-1',
    children=[
        'This is integer ',
        html.Span(id='output-2', children=''),
    ]
)
 

И ваш обратный вызов выводит целое число только для 'output-2' . Затем вы можете использовать children of 'output-2' как в Input другом месте, чтобы прочитать это целое число обратно в обратный вызов. Вы также можете обновить 'output-1' children prop, если вам нужно изменить это, чтобы сказать что-то вроде "This is a float" или "This is a string" .