Как перейти к определенному сегменту на основе пользовательского ввода в streamlit? - PullRequest
0 голосов
/ 01 февраля 2020

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

lin_num = st.number_input('How many articles would you like to add?', min_value=1)

и на основе ввода я создаю различные сегменты, чтобы принять дальнейшего пользователя введите следующие данные:

for i in range(0, lin_num):
        lin_position = st.text_input('Position', str(i + 1))
        article = st.selectbox('Which article would you like to add?', options=articles, key=str(i + 1))
        menge = st.text_input('Enter the Menge', value='0.0', key=str(i + 1))

Теперь я также хочу включить опцию, при которой пользователь может перейти к определенной статье. Для этого я делаю следующее:

if st.sidebar.checkbox("Go to a specific article"):
        st.sidebar.subheader('Select the article you would like to see')
        specific_lin = st.sidebar.selectbox('Which LIN segment would you like to see?',
                                            [i for i in range(1, lin_num + 1)])

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

Теперь, при условии, что Пользователь добавил 50 статей и хочет перейти к статье, для которой lin_position равно 27, чтобы изменить значение menge. В таком случае прокрутка до этой конкретной статьи до go может быть утомительной. Итак, я хотел бы использовать флажок Go to a specific article, чтобы пользователь мог выбрать статью 27. Когда пользователь выбирает 27, я хочу, чтобы экран автоматически переходил к этой конкретной статье, и вся соответствующая информация, такая как: lin_position, article, menge должна быть отображается на экране, чтобы пользователь мог их проверить и при необходимости изменить.

Есть ли способ сделать это?

Заранее спасибо

1 Ответ

0 голосов
/ 11 февраля 2020

Надеюсь, что ответ на форуме сообщества помог . Для других пользователей, у которых может возникнуть тот же вопрос, вот ответ из сообщения на форуме:

"Вы можете сохранить эту часть состояния (то есть, на какой странице вы находитесь) в поле выбора, как показано в Демонстрация Udacity .

Вы можете использовать tvst's SessionState hack , но учтите, что этот метод недокументирован и может не работать в будущем.

Вы можете сохранить состояние как изменяемый объект в кеше, используя ignore_hash = True kwarg. Вот пример того, как это сделать . "

...