リーリー
各チェックボックスをクリックすると、ボックスから関連データが読み込まれ、配列が描画されます。マッチングデータを確認することによって。配列。
ここで、チェックボックスをクリックしたときにデータが見つからない場合に、「データが見つかりません」というメッセージを表示したいと思います。
以下のコードの問題は、v-if を先頭に、v-for および v-else データを最後に配置すると、ごくわずかなデータしか表示されないことです。
v-for は「boxes」内の「box」ごとにレンダリングされるため、ボックスごとに次の 1 つを取得する必要があります。 リーリー
v-for
v-if および v-else-if および v-else は、ブロック内に含まれる述語に基づいて条件付きでブロックをレンダリングします。あなたの例では、配列 matchingdata がどこから来たのかわかりませんが、box.bodi と paint.paintid および のファイルが含まれている場合は、 Paint.paintid は、属性 boxy および paintid を持つ要素と一致し、その後 matchingdata.some((m ) =>gt; m.boxy == box.boxy && m.paintid == Paint.paintid) が満たされ、関連付けられた div がレンダリングされます。そうでない場合は、「v-else」 div がレンダリングされます (注釈が付けられていない場合)。
および
は、ブロック内に含まれる述語に基づいて条件付きでブロックをレンダリングします。あなたの例では、配列
がどこから来たのかわかりませんが、
と
は、属性
を持つ要素と一致し、その後
が満たされ、関連付けられた div がレンダリングされます。そうでない場合は、「v-else」 div がレンダリングされます (注釈が付けられていない場合)。
v-for ブロックと (v-if、v-else-if、v-else) ブロックは相互に接続されていません。 v-for は、リスト内の各項目の要素をレンダリングするループを表します。 v-if ブロックは、定義した述語に基づいて条件付きで要素をページにレンダリングします。
v-if、v-else-if、および v-else は、同じ論理ブロック内でカウントされるように、それぞれの直後に出現する必要があります。
matchingdata.some()
v-for ループの上の v-if ループ内で、ペイントが見つかるかどうかを確認する matchingdata.some() を使用できます。 v-else を一番下に配置し、テキストを含めます。
v-if
v-else
以下の修正を参照してください:
これをコード サンドボックスに貼り付けたところ、ボックスごとにメッセージが 1 回だけ表示されるようになりました。
関連パーツは paints.find を使用していますすべてのペイントを事前チェックします:
paints.find
ペイント内の各ペイントについて、各ボックス内の各ペイントの div をレンダリングする必要があります。v-for
は「boxes」内の「box」ごとにレンダリングされるため、ボックスごとに次の 1 つを取得する必要があります。 リーリーv-if
コードはボックス内の各ボックスをループし、ボックスごとにペイント内の各ペイントをループして、次のようなmatchingdata 内の要素を見つけます。 リーリーおよび
v-else-ifおよび
v-elseは、ブロック内に含まれる述語に基づいて条件付きでブロックをレンダリングします。あなたの例では、配列
matchingdataがどこから来たのかわかりませんが、
box.bodiと
paint.paintidおよび
のファイルが含まれている場合は、 Paint.paintidは、属性
boxyおよび
paintidを持つ要素と一致し、その後
matchingdata.some((m ) =>gt; m.boxy == box.boxy && m.paintid == Paint.paintid)が満たされ、関連付けられた div がレンダリングされます。そうでない場合は、「v-else」 div がレンダリングされます (注釈が付けられていない場合)。
v-for ブロックと (v-if、v-else-if、v-else) ブロックは相互に接続されていません。 v-for は、リスト内の各項目の要素をレンダリングするループを表します。 v-if ブロックは、定義した述語に基づいて条件付きで要素をページにレンダリングします。
v-if、v-else-if、および v-else は、同じ論理ブロック内でカウントされるように、それぞれの直後に出現する必要があります。
再度使用
matchingdata.some()
v-for
ループの上のv-if
ループ内で、ペイントが見つかるかどうかを確認するmatchingdata.some()
を使用できます。v-else
を一番下に配置し、テキストを含めます。以下の修正を参照してください:
リーリーこれをコード サンドボックスに貼り付けたところ、ボックスごとにメッセージが 1 回だけ表示されるようになりました。
関連パーツは
リーリー ###書類:###paints.find
を使用していますすべてのペイントを事前チェックします:Array.prototype.some-
一个>
Array.prototype.find-
一个>