我想在CustomJS回调中引用2个Select小部件(^{cd1>}和^{cd2>}),因此我不能使用^{cd3>}。
select1 = Select(title="Level:", options=['All Levels', '1', '2', '3'], callback=callback)
首先,我尝试直接在回调中引用它的值:
^{pr2}$这导致错误:未定义select1:
^{pr3}$然后,我尝试将^{cd4>}传递到回调中的args:
^{pr4}$因为^{cd4>}的参数是^{cd6>},如果在定义^{cd8>}之前定义^{cd4>},python将生成错误,因为分配之前引用了^{cd8>}。如果我在select小部件之前定义^{cd8>}则反之亦然。
所以我尝试了这样的方法:定义^{{cd4>}两次
select1 = ... (without the callback argument)
callback = ...
select1 = ... (with the callback argument)
这最终生成了bokeh图表。但是当我点击select小部件时,没有任何值。
var f=select1.value;
console.log('Select1 type ' + f.constructor.name.toLowerCase()); // string, as expected
console.log('Value ' + f); // outputs 'Value ', so f is nothing
console.log('Select1 options ' + select1.options); // Output is as expected
如果我为^{{cd4>}提供默认值参数,则^{cd1>}将不是空:
^{pr7}$但是,^{cd1>}将保留为“1”,无论我将小部件的实际值更改为什么。所以这个值根本没有更新。
我很感激你的帮助。。谢谢!
我终于成功了。我使用
js_on_change
而不是添加callback
作为小部件参数。在在回调函数中,我将小部件名称作为参数传递。在
1)定义select widgets,这是指定默认值所必需的
2)定义回调,将小部件显式作为参数传递
^{pr2}$3)变更施工图
^{3}$相关问题 更多 >
编程相关推荐