見出し画像

【FlutterFlow】ユーザ画像を送信ページに表示する方法:ドキュメント・レファレンスの送受信

はい、こんにちは!前回記事からの続きです。FlutterFlowで、ページ間でドキュメント・レファレンスの受け渡しについて、ご紹介しています。

前回は、レファレンス先のフィールド(ユーザの画像)を、レファレンス元のコレクション(toDoList)で呼び出そうとしましたができませんでした。これは、UIビルダーを使って実現するようです…。

これを受けて、今回は、データマネジャでtoDoListにユーザー画像フィールドを追加します。下図の「やること詳細」に表示させる画像のソースとして、そのフィールドを参照します。

データの持ち方として、明らかに冗長です。

せっかくDocument Referenceを設定したのですから、Usersのドキュメントから画像のパスをもってくるのが、データベース的に正しいです。が、今回はお許しを!

よし行ってみよ~。

ToDoListコレクションにユーザ画像用のフィールドを追加

では、toDoListのコレクションを表示させます。

まずは、フィールドの追加を行います。フィールド名は、member_photoとしました。Data Typeは、ImagePathですね。

データマネジャで画像パスを追加

続いて、データマネジャに移動します。

ここで先ほど追加したmember_photoカラムに画像のパスを追加します。

買い物は田中さん、引っ越しは八木さん、エアコンは山田さんが担当だったな…。対応関係に注意しつつ、画像をアップロードしますよ。

下図はドキュメントの内容を管理しているところです。赤枠のメニューをクリックして画像を追加します。

はい、無事アップロードできました。データマネジャの一覧表示で、すべてのカラムを表示できないようで、イマイチ成功した確信が得られないのですが、まあ、いいでしょう。

やること詳細ページのウィジェットを準備

データの準備は終わったところで、UIビルダーに戻って「やること詳細」ページにユーザ画像を表示させます。

やること詳細ページは、今、下図のとおりです。CircleImageの位置が微妙ですし、もうちょっと、見た目を整えますか…。

はい、次のとおりとなりました。CircleImageをRowでラップして、テキストとへ入れるさせました。そのテキストは、静的な値として「担当者」を入力しておきました。

ここら辺のレイアウトは、昔に比べると慣れてきたな~。

ページパラメータから画像フィールドを指定

ウィジェットは準備できたので、CircleImageのソースを指定しないといけないですね。

この詳細ページの値は、ページパラメータで受け取ったドキュメントからフィールドを取り出して指定したのでした。覚えてます?下図のとおりです。

ユーザ画像も同様のはずですね。ということで、CircleImageのパスを下図のように設定します。

よし、テストラン!

はい、では設定がうまくいったからテストランします~。

やることリストを開き、「引っ越し業者の見積もり」をクリック。八木さんの画像が表示されるか…。

やりました~。表示できました、ユーザの画像!


はい、本日はここまで!今回は、toDoListコレクションに画像用のカラムを追加して、さらにそれを「やること詳細」ページに表示させました!

内心は、薄氷を踏む思いでしたよ。だいたいつまづきますからね…。データ回りの作業は…。

次回は、Document Referenceをページ間で送受信する作業に戻らねば!ということで、ユーザー情報を表示するページを作りましょう!

では~。

この記事が気に入ったらサポートをしてみませんか?