我试图创建一个破折号应用程序的价格选择(金融)。 我的布局没有太多交互组件的问题。 我的问题是:
我有一个daq.numericput(#daq1),它根据在#daq1中输入的数字创建其他几个daq.numericput。 现在我想在创建的daq.NumericInputs中存储这些值,但是我不知道我将预先拥有多少个值
我试过:
-1/在dict中创建daq.NumericInputs的id的同时,将其存储在json中,然后在此dict上尝试一个元素数目可变的回调
-2/使用StatePattern、StateGroup(如图所示:https://github.com/plotly/dash/issues/475)。在创建daq.NumericInputs时,我给了它们组ID,然后尝试在回调中作为一个组调用它们
call_input = daq.NumericInput(
id="call_input", className="setting-input", size=1000, max=nb_max_option,value=0
)
#in the app.layout :
call_input
html.Div(id='data-list-1')
html.Div(id="call-tab")
@app.callback([Output("call-tab", "children"),Output('data-list-1','children')],
[Input("call_input", "value")])
def build_call_tab(value):
my_list = []
store_data_1 = {}
store_data_1["call_input"]="value"
if float(format(value)) > 0:
my_list.append(
build_value_setter_line_3h(
"call-tab-header",
"Product",
"Strike",
"Buy/Sell"
)
)
for i in range (1,value+1):
my_list.append(
build_value_setter_line_3(
"call-tab-{}".format(i) ,
"Call Option {}".format(i) ,
daq.NumericInput(
id="call_input_strike{}".format(i) , className="setting-input", size=400, max=9999999,value=0
),
"buy_sell_call{}".format(i)
),
)
store_data_1["call_input_strike{}".format(i)]="value"
store_data_1["buy_sell_call{}".format(i)]="value"
return my_list, json.dumps(store_data_1)
@app.callback(Output("graph-payoff-1", "children"),
[Input("button-payoff", "n_clicks")],
[State(key,value) for key, value in json.loads('data-list-1').items()])
def ...
@app.callback(Output("graph-payoff-1", "children"),
[Input("button-payoff", "n_clicks")],
[StateGroup(group='id', property='value')])
def ...
也许我完全迷路了,我这样做是错误的(我这个周末开始开发这个应用程序,我从来没有在dash(python)中做过其他应用程序,我只在Shiny(R)中做过一个)
欢迎您的回答和建议
目前没有回答
相关问题 更多 >
编程相关推荐