Программно установить значение выпадающего в боке - PullRequest
0 голосов
/ 23 марта 2020

Раньше в боке 1.4.0 можно было просто сделать:

d=Dropdown(..., value='asdf')

Чтобы установить начальное значение в раскрывающемся списке. Затем его можно прочитать или изменить с помощью

d2 = d.value

или

d.value = 'sdfg'

В 2.0.0 это устарело. См. примечания к выпуску

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

  1. Это, кажется, означает, что если вы хотите «прочитать» значение раскрывающегося списка, вы не можете просто запросить сам экземпляр модели раскрывающегося списка. Вы должны хранить его где-то в отдельной переменной, что мне кажется немного неудобным.

  2. Я не знаю, есть ли какой-либо способ программной установки ...

    а. начальное значение раскрывающегося списка, если оно не является первым в меню (это абсолютно необходимо для определенных приложений, которым может потребоваться предварительно заполнить раскрывающийся список из чего-либо, например, в качестве аргумента через POST)

    б. значение во время выполнения. Это похоже на базовую c возможность раскрывающегося элемента управления ... другие виджеты допускают изменения в тексте или значении, которое они содержат, поэтому я не знаю, почему он будет отброшен. Я ничего не вижу в документах по боке.

1 Ответ

0 голосов
/ 23 марта 2020

Nevermind. Теперь, когда я снова смотрю на выпадающий элемент управления, я понимаю, что новый API соответствует фактическому элементу управления пользовательского интерфейса. В списке ничего визуально не выбрано. Каждый раз, когда вы опускаете его, он выглядит одинаково. Поэтому имеет смысл указывать только значение, указанное в аргументе event (event.item). например,

dropdown = Dropdown(...)

def dropdown_handler(event):                                                                         
    print(event.item)

dropdown.on_click(dropdown_handler)
...