問題タブ [conditional-rendering]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - テンプレート テキストを条件付きで太字にレンダリングする
私の受信トレイ ページでは、このページでユーザーはメッセージを表示できます。メッセージには 2 種類の状態 (未開始、In_progress) があります。
ユーザーがすべてのメッセージを表示できる dataTable には、次の 3 つの列があります。
メッセージの状態はサービスから取得されます。私の仕事は、ユーザーがまだ開いていないすべてのメッセージのタイトルに太字の単語「 NEW 」を追加することです。
開いた後、状態は "in_progress" に変わり、太字の単語 " NEW " は消えます。
または、ある種のアイコンを使用するためにNEWに挿入されたアイデアがあります。
私がこれまでに行ったことは次のとおりです。
問題は、太字に正しく追加<b></b>
したり、代わりにアイコンを追加したりできないことです。
<b></b>
「New」の周りに追加しようとしましたが、その場合はエラーが発生します。
jsf - 空の場合、複合コンポーネント内のコンポーネントの属性を設定しない方法は?
次のような複合コンポーネントに ah:graphicImage があります。
これは機能しますが、一部の属性 (幅、高さなど) が設定されていない場合、それらは空にレンダリングされます。win7 の IE9 では、これにより img タグの幅と高さの属性が 1 としてレンダリングされます。したがって、画像の幅は 1 ピクセル、高さは 1 ピクセルになります。
jsf - f:setPropertyActionListener の条件付き使用
commandButton 内で f:setPropertyActionListener を条件付きで使用することは可能ですか?
f:setPropertyActionListener の無効な属性のように。
私が通常行うことは、レンダリングされたプロパティを持つ 2 つの異なるボタンを作成することです。
jsf - ドロップダウンで選択した値で表の行の ID 番号の色を区別する方法は?
私は JSF が初めてで、1 つのタスクを完了することを想定しています。タスクの目的は、ドロップダウン リストで選択した値で ID 番号の背景色を表示することです。ドロップダウン リストを作成し、値を表示してデータベースに保存するコードを作成しました。
ドロップダウン リストのコードは次のとおりです。
ここで、選択した値を表示するコードを書きました。選択した値の代わりにロゴを表示しました..
コードの保存されたファイル(行)情報は次のとおりです。
わかりませんが、選択したクラス名ですべての ID 背景色が表示されます。
スクリーンショットのように出力を表示したい..最初に選択した値は赤色で表示する必要があり、2番目に選択した値は緑色で表示する必要があります
何か提案はありますか?
jsf - バック Bean 値に基づいて PrimeFaces 確認ダイアログを条件付きで表示する方法は?
「{notificationSearchBean.tooLong}」という条件があります。その条件が真の場合に確認ダイアログを表示したい場合、ボタンを作成するにはどうすればよいですか。偽の場合、アクションはすぐに実行されます。条件が true の場合、confirmdialog が表示され、正常に機能するようにします。[はい] が押された場合はボタン アクションが実行され、[いいえ] が押された場合は呼び出しが中止されます。これは私がこれまでに持っているものですが、正しくするには2回クリックする必要があります.
これは、Bean に保存されていた元のものに基づいてレンダリングされたボタンとしては機能しませんが、現在の送信からの新しい値にしたいと考えています。これを変更するにはどうすればよいですか?
jsf - ファセットがレンダリングされていないときに JSF 複合ファセットからの検証が行われるのはなぜですか
コンポジットをレンダリングしていなくても、コンポジットのファセットからの検証が開始されるという問題があります。
問題を次のベアボーン コードに落とし込みました。
コンポジットは次のentityDetailPanel
とおりです。
そして、ここに呼び出しがあります:
コンボボックスは (レンダリングされていないため) 画面に表示されませんが、レンダリングされていないものに対して検証が行われるのはなぜですか?
[SAVE] ボタンをクリックすると、次のように表示されます。
まだ見知らぬ人は、そのコンボボックスを持たないコンポジットの他の呼び出しでも、この検証エラーが表示されることです。
また、タグに一意の ID を含めない<messages>
と、コンポジットの 1 つの使用からのメッセージが、コンポジットの他の使用に表示されることにも気付きました。
これは PrimeFaces または JSF のバグですか、それとも何か不足していますか?
コメントアウトされた<inputText>
タグがあることに気付くかもしれません。を交換してから に<selectOneMenu>
交換すると<inputText>
、問題が発生しなくなります。
私が解決しようとしているより大きな問題を少し解明するのに役立つかもしれないと思いました.
<p:layout>
固定要素 (コンポジットのすべての用途) とパラメトリックに渡される非固定要素/パネル (コンポーネントの各用途) の両方を持つ に似たものを作成したいと考えています。
これは、read で示されている項目がコンポジットの呼び出しごとに異なるスクリーンショットです。他のすべては、コンポジットのすべての呼び出しに常に存在します。
ご覧のとおり、パラメーターは次のとおりです。
- ボタン パネル (ボタンはコンテキストによって異なります)
- フォームの最後に追加するいくつかの追加フィールド (検証が含まれる場合があります)
- 下部パネル全体 (検証が含まれる場合があります)
これらすべてがまとめて検証される (「SAVE」ボタンの場合) ことに言及する価値があるため、<form>
タグを複合出力 (パラメーターとして渡されたパネルを含む) 内に配置することが望ましいです。
jsf - MyFaces 1.1.1 で要素をレンダリングする
レンダリングするラベルを決定する値を持つドロップダウンがある単純な jsf ページを作成しようとしています。最初は、バッキング Bean コンストラクターを介して、すべてのラベルのレンダリングが false に設定されます。しかし、ラベルのそれぞれの値を true に設定する submit onchange を呼び出しました。設定されている値が変更時に削除されないように、バッキング Bean のスコープをセッションとして設定しました。ただし、ラベルは変更時にレンダリングされません。以下は、jsf ページのコード スニペットです。
バッキング Bean は次のとおりです。
jsf - 独自の値が変更されたときにjsfでカスタムajaxコンポーネントを非表示にします
カスタム ajax コンボボックス コンポーネントがあります。その中の値が変更されたら、コンボボックスを非表示にして、その場所にラベルを表示したいと思います。コンボボックスのrender属性とh:outputTextを使ってやってみました。それはうまくいきましたが、ブラウザはこのエラーを出します:
リクエストの処理中にエラーが発生しました。詳細: Dom要素: ppForm:workItemsTree:0:1:1:assignee_:assignee_setValue RequestStatus:Notfound
担当者の setValue は、コンボボックスの変更時に呼び出されるメソッドである render 属性が false に設定されているのに、ブラウザーがまだコンボボックスを見つけようとしているのはなぜですか?
アップデート:
コンボ ボックス コンポーネントは facelet テンプレートであり、動的 ID を持っています。次の図に示すように、レンダリング中に id の動的部分 ("_" の後、参照用に MISSING_ID_PART として表しています) が欠落しています。
ppForm:workItemsTree:0:1:1:assignee_:assignee_setValu ppForm:workItemsTree:0:1:1:assignee_MISSING_ID_PART:assignee_MISSING_ID_PARTsetValue
myfaces 2.1 で richfaces 4.2.2 を使用する
一般に、あるコンポーネントから ajax リクエストを開始し、そのコンポーネントをレンダリングせずに他のコンポーネントをレンダリングすることは可能ですか? はいの場合は、その方法または同じことを達成するための回避策を共有してください。