【Adalo】以前のマジックテキスト情報が残るフォームをリセットする方法

空のはずのフォームに前回読み込んだ情報が残ってしまう

Adaloで作っているノーコードアプリで、データベースの詳細を編集する画面があるのですが、コレクションのレコードが(Empty)であるはずなのに、以前に読み込んだマジックテキストがそのまま残ってしまいます。これはどうやらキャッシュの仕様のようで、情報のあるフォームはデータベースの通りキャッシュが上書きされ、登録されている通りの情報が表示されますが、空白欄のキャッシュはそのまま残ってしまいます。

画面遷移時にフォームを空にしてみる

画面繊維時に『Change Input Value』を使用して、フォームを一つ一つ(Empty)にしてから遷移するようにしましたが、これはダメでした。フォームを空にしてから画面遷移しても、次にフォームを開いたときにはキャッシュが残っていて、空であるはずのフォームに以前の情報が表示されてしまいました。

解決策はダミーレコードの作成&削除をはさむ

空のダミーデータを書き込みし、キャッシュを空(Empty)で上書きすることで解決できました。

例えば、画面繊維する際に『Link』のアクションを使いますが、この前に以下のアクションを追加します。

または、

および、

これをアクションの間に挟みます。最後に『Link』で画面遷移するようにします。フォームの値で作成(Create)または変更(Update)するアクションがある場合は、一番最初にフォームの情報を保存してからダミーデータの作成・削除を行います。

ダミーデータはすべて空(Empty)のレコードです。

お掃除して出る感じです。

また、空のダミーデータを書き込むのなら、『Change Input Value』で各フォームの値を空に変更しなくてもいいのでは?と思いますが、これがないとうまくいきませんでした。

ダミーデータはマジックテキストで読み込むコレクションと同じデータベースに書き込み・削除します。この動作が間に入るため、画面遷移に少し時間がかかりレスポンスが悪くなります。

フォーム表示前か?画面を閉じる後か?

この動作を仕込む場合、以下のどちらかになるかと思います。

成功したのは後者の方でした。今から開くときに行うとキャッシュが残っていました。元の画面に戻る時(フォームを閉じるとき)に行うとうまくいきました。フォームが表示されないページで行うよりも、フォームが表示されているページで行うのがいいみたいです。

PAGETOP