[英]Conditional input in dash
是否可以在破折號中使輸入成為條件? 下面是我的代碼。 我想要完成的是,我希望選項卡僅在 main_tab == 'A' 時作為輸入,如果 main_tab == 'B',我希望選項卡為 state(不是輸入)
@app.callback(
Output('store-data', 'data'),
Input("inputid", "n_submit"),
Input("search-button","n_clicks"),
Input("tabs-main","value"),
Input("tabs","value"),
State("inputid", "value"),
prevent_initial_callback=True,
)
def store_data(n_submit,n_clicks,main_tab,tab,id_value):
if n_submit or n_clicks>0:
if main_tab=='A':
uniqueid = b64.encode(id_value)
locations_staging = query_staging.get_location(uniqueid,tab)
data = query_staging.get_data(locations_staging)
return data
elif main_tab=="B":
uniqueid = b64.encode(id_value)
locations_cu = query_cu.get_location(uniqueid)
data = query_cu.get_data(locations_cu)
return data
如何做到這一點?
您可以在回調中創建條件。 但問題可能出在您想要讀取 State 和 Input 的值以創建條件時,因為它們是模塊dash.dependencies
上的類。 因此,您不能提出如下條件:
State('input-1-state', 'value') if Input('submit-button-state', 'n_clicks') > 1
else State('input-2-state', 'value')
您可以使用 help(Input) 閱讀有關 Input 和 State 的更多信息。
我想你可以按照你現在的方式來做調理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.