Я создаю плотное приложение Da sh с текстовой областью из основных компонентов da sh (d cc .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')])