作成機能を実装する
Firestore に新しく商品を追加する
商品の一覧情報をテーブルに表示する
- [データフロー] 内の [新規作成] をクリックし、データフロー名を
listProducts
に変更する。 - データソースで
Onboarding Firebase
を選択する。 - [Action] で
List documents
を選択し、 [Collection] にproducts
と入力する。 - [実行する] をクリックする。
- [テーブル] を配置し、エディターの [データ] に
{{ listProducts.data }}
と入力する。
商品の追加を行うコンポーネントを配置する
- [カラム] を配置する。
- [カラム] の左側に先ほど配置した**[テーブル]** を、右側に [インプット] を 2 つと [セレクト] と [テキストエリア] と [ボタン] を配置する。
- カラムの右側に設置した [input1] 、[input2] 、 [select1] 、 [textarea1] 、 [button1] のエディター内の [ラベル] にそれぞれ
id
、title
、category
、description
、商品を追加する
と入力する。 - [カラム] の幅を調節する。
商品データのカテゴリ一覧をデータフローで取得し、セレクトの値として表示する
- [データフロー] 内の [新規作成] をクリックし、データフロー名を
listCategories
に変更する。 - データソースで
Onboarding Firebase
を選択する。 - [Action] で
List documents
を選択し、 [Collection] にcategories
と入力する。 - [実行する] をクリックする。
- [セレクト] を配置する。
- [セレクト] のエディターを開き、 [Values] に
{{ listCategories.data.map(d => d.id) }}
と入力する。 - [Labels] に
{{ listCategories.data.map(d => d.name) }}
と入力する。
商品の追加を行うデータフローを作成し、ボタンと紐づける
- [データフロー] 内の [新規作成] をクリックし、データフロー名を
createProduct
に変更する。 - データソースで
Onboarding Firebase
を選択する。 - [Action] で
Set document
を選択し、 [Collection] にproducts
と入力する。 - [Data] に以下のように記述する。
{
"id": {{ input1.value }},
"title": {{ input2.value }},
"category": {{ select1.value }},
"description": {{ textarea1.value }}
}
- [button1] を選択し、[イベントを追加する] をクリックし、[データフロー] で
createProduct
を選択する。
空欄がある場合にボタンを disable にする
- [button1] を選択し、[無効にする条件] に
{{ !input1.value || input2.value === '' || select1.value === '' || textarea1.value === '' }}
と記述する。