![](/img/trans.png)
[英]plotly dash adding an image to dcc.Tabs that updates based on the user inputs
[英]Update the plotly Dash dcc.Textarea value from what user inputs
我正在創建一個 plotly Dash 應用程序,其中包含來自 dash 核心組件 (dcc.Textarea) 的文本區域。 最終用戶希望保存來自文本區域的輸入,以便下次用戶進入更新該字段時可以重用它。 我能夠保存保存文本區域的內容,但是如何使用最新編輯更新該字段的默認值? 我嘗試更新文本區域的“價值”和“孩子”,但沒有奏效。 這是代碼。
folder=r'C:\Temp'
def text_ar_val(file='TextBox1.txt'):
with open(folder+fr'\Data\{file}','r') as f:
return f.read()
app = dash.Dash(__name__)
app.layout = html.Div([dcc.Textarea(
id='textarea1', className='textarea1',
value=text_ar_val()
),
html.Div(daq.StopButton(id='save1',className="button",
buttonText='Save', n_clicks=0))
])
@app.callback(Output('textarea1', 'children'),
[Input('save1', 'n_clicks'), Input('textarea1','value')])
def textbox1(n_clicks, value):
if n_clicks>0:
global folder
with open(folder+r'\Data\TextBox1.txt','w') as file:
file.write(value)
return value
我也試過:
@app.callback(Output('textarea1', 'value'),
[Input('save1', 'n_clicks'), Input('textarea1','value')])
dcc.Textarea 模塊采用 arguments persistence 和 persistence_type。 設置 persistence=True 和 persistence_type='local'。 將 persistence 設置為 True 將告訴應用程序保存最后輸入的數據,將 persistence_type 設置為 'local' 會將最后輸入的數據保存到 window.localStorage。 因此,當用戶退出瀏覽器並返回時,該字段將具有上次輸入數據的默認值。 代碼將是:
app.layout = html.Div([dcc.Textarea(
id='textarea1', className='textarea1',
value=text_ar_val(),
persistence=True, persistence_type='local'
),
html.Div(daq.StopButton(id='save1',className="button",
buttonText='Save', n_clicks=0))
])
這段代碼前后的所有內容都保持不變。 幾乎所有其他 dcc 組件都將接受持久性和持久性類型的參數(例如 dcc.Dropdown)。
有關更多信息,您可以 go 到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.