検索

ホームページ  >  に質問  >  本文

Vue での条件付きレンダリング: Firestore フィールド値が特定の文字列値と一致する場合にのみ表示します

<p>Firestore データベース フィールド (「レビュー」コレクションの <code>reviewPrivacy</code> フィールド) は文字列型で、Vue フォーム入力 (ラジオ ボタン) によって設定され、3 つの可能な答え (値) が設定されます。1 つは < ;code>keepFullyPrivate</code>。 </p> <p><code>review.reviewPrivacy</code> の値が <code>keepFullyPrivate</code> の場合、<code><h2>レビュー担当者の ID が非公開であることを示したいです< / h2>。 </p> <p>これが機能したら、<code>v-if-else</code> および <code>v-else</code> オプションを追加して、オプションごとに異なるコンテンツを表示します。 </p> <p>私のコードは次のとおりです。 </p> <p>VSC ではエラーのフラグは立てられませんが、<code><h2></code> タグ内のテキストは、<code>review.reviewPrivacy</code> の値に関係なく常に表示されます。 <code>keepFullyPrivate</code> と等しいかどうかは関係ありません。 </p> <pre class="brush:php;toolbar:false;"><div v-if="('review.reviewPrivacy', '==', 'keepFullyPrivate')"><h2>コメント投稿者の身元は非公開です</h2></div></pre> <p>更新 (追加情報): </p>
P粉007288593P粉007288593497日前549

全員に返信(2)返信します

  • P粉864872812

    P粉8648728122023-08-29 15:54:29

    リーリー リーリー

    返事
    0
  • P粉265724930

    P粉2657249302023-08-29 10:25:42

    ('review.reviewPrivacy', '==', 'keepFullyPrivate') は単なるカンマ区切りの文字列のセットであり、その値は最後の文字列です: 'keepFullyPrivate ' の場合、タグは v-if="'keepFullyPrivate'" になり、これは常に true になります。したがって、div とその h2 は常にレンダリングされます。

    review.reviewPrivacy'keepFullyPrivate' を比較するための正しい式は次のとおりです:

    リーリー

    厳密な比較 には 3 つの等号 (====) を使用することをお勧めします。

    したがって、最終結果は次のようになります:

    リーリー

    返事
    0
  • キャンセル返事