我正在尝试根据用户输入实现散景图表,要求是级联下拉列表,以便根据下拉列表中的选定项目显示文本框
我是新来的散景请帮忙 提前谢谢
答案 0 :(得分:1)
在散景服务器上运行,您可以仅使用python代码以交互方式编辑任何对象属性。对于选择框,您可以附加一个函数来检查选择菜单上的更改,然后在python函数中指定如何根据所选值更改输入对象。类似的东西。
select = Select(options=["fruits", "human"], value="fruits")
text_input_1 = TextInput()
text_input_2 = TextInput()
layout = column(select, row(text_input_1, text_input_2))
def select_change(attrname, old, new):
choice = new
if choice == "fruits":
text_input_1.title = "Price"
text_input_2.title = "Quantity"
elif choice == "human":
text_input_1.title = "Name"
text_input_2.title = "Age"
select.on_change('value', select_change)
您也可以通过编写回调函数在javascript中执行此操作,并将要修改的对象提供给回调,并在正在执行的javascript代码中修改它们。 javascript选项的优点是无需运行散景服务器。
select.callback = CustomJS(args=dict(s=select, t_1=text_input_1, t_2=text_input_2), code="""
if (s.value == "fruits") {
t_1.title = "Price";
t_2.title = "Quantity";
}
else if (s.value == "human") {
t_1.title = "Name";
t_2.title = "Age";
}
""")