Vaadinチェックボックスが正しくレンダリングされない

アルノー

互換モードなしでVaadin14.0.13を使用する。

ビューを使用して、動的コンテンツを含むダイアログを作成します。

@Route("")
public class MainView extends VerticalLayout {

   public MainView(DialogContentProvider contentProvider) {
      this.add(new Button("Click me!", event -> new Dialog(contentProvider.create()).open()));
   }
}

contentProviderインターフェースです

public interface DialogContentProvider {
    Component create();
}

この実装では:

public class CheckBoxContentProvider implements DialogContentProvider {
    @Override
    public Component create() {
        return new Checkbox("My checkbox", true);
    }
}

Beanを使用してSpringBoot(バージョン2.2.1.RELEASE)によってインスタンス化されます。

    @Bean
    public DialogContentProvider contentProvier() {
        return new CheckBoxContentProvider();
    }

ボタンをクリックすると、ダイアログが開きますが、チェックボックスにボックスがありません。 ここに画像の説明を入力してください

ソースコードはgithubにあります:https//github.com/gronono/bug-vaadin-checkbox

なぜ、どのように修正できるのかわかりません。メインビュー内にチェックボックスの作成を含めると、正常に機能します。

@Route("")
public class MainView extends VerticalLayout {

    public MainView(DialogContentProvider contentProvider) {
//        this.add(new Button("Click me!", event -> new Dialog(contentProvider.create()).open()));
        this.add(new Button("Click me!", event -> new Dialog(new Checkbox("My checkbox", true)).open()));
    }
}
kscherrer

これはこのようにひどく聞こえます関連するgithubの問題

基本的に、これは、チェックボックスを直接使用するビューがない場合に発生しますが、リフレクションや、場合によってはcontentProviderなどの他の手段を使用します。これは、アプリのビューにCheckbox(->したがって、インストール中のvaadinsスキャンはの使用法を検出しないためCheckbox、チェックボックスのnpmのものをダウンロードしません)。
githubでは、これは14.1で修正されると書かれています

今すぐ修正が必要な場合は、@ Routeを使用して任意のビューでそのタイプのフィールドを宣言したときに、修正が機能しました。そのフィールドを使用する必要はありません。

@Route("")
public class MainView extends VerticalLayout {
    private Checkbox unusedCheckbox; // this line fixes it. 

    public MainView(DialogContentProvider contentProvider) {
        this.add(new Button("Click me!", event -> new Dialog(contentProvider.create()).open()));
    }
}

補遺:これはCheckbox特にコンポーネントとは関係ありません。ルートで最初にスキャンされないが、反射、プロバイダー、または一般的な手段で使用されるvaadinコンポーネントで発生します。

編集:@Route(registerAtStartup = false)チェックボックスを直接使用するプロバイダーにを追加することで、現在これを回避することもできます。これにより、vaadinsスキャンでチェックボックスの使用状況が確認されます(したがって、npmパッケージがインポートされます)が、実際にはプロバイダーが実際のルートとして登録されません。


あなたが複数のコンポーネントのためにこれを必要とする場合、私は好むもう一つの方法は、使用して新しいビューを作成することです@Route(registerAtStartup = false)これだけあなたがアプリケーションに必要になります(すでに使用アレントことを各コンポーネントのプライベート変数を定義し、直接あなたのいくつかの観点では)。これには、これらすべてのコンポーネント使用法の定義が1か所にあるという利点があり、公式の修正がリリースされると、1つのクラスを削除するだけで済み、非推奨の回避策はなくなります。

@Route(registerAtStartup = false)
public class ComponentImportView extends VerticalLayout {
    private Checkbox checkBox;
    private Upload upload;
    private ProgressBar progressBar;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Angular 6 / PrimeNg6でチェックボックスとラジオボタンが正しくレンダリングされない

分類Dev

チェックボックスが再レンダリング時にリセットされない

分類Dev

テクスチャが正しくレンダリングされない(OpenGL)

分類Dev

OpenGLESテクスチャが正しくレンダリングされない

分類Dev

シェーダーでテクスチャが正しくレンダリングされない

分類Dev

ビューが表示された後にクリックをトリガーすると、スイッチが正しくレンダリングされない

分類Dev

フレックスdivでパグスパンが正しくレンダリングされない

分類Dev

オートコンプリートコンボボックスボタンが正しくレンダリングされない

分類Dev

ブートストラップチェックボックスボタンが正しく表示されない

分類Dev

Safariでフレックスグリッドが正しくレンダリングされない-フレックスアイテムに高さがない

分類Dev

データバインディングを使用してViewPagerでAndroidチェックボックスが正しくチェックされない

分類Dev

フレックスボックスアイテムがChromeで正しく再レンダリングされない

分類Dev

セレンチェックボックスがクリックされない

分類Dev

セレンチェックボックスがクリックされない

分類Dev

チェックボックスの値がバックエンドAPIに正しく渡されない

分類Dev

StripeElementクイックスタートの例が正しくレンダリングされない

分類Dev

Vuetifyのチェックボックスコンポーネントが正しく表示されない

分類Dev

React.jsとMapbox:react.jsを使用するとマップボックスマップが正しくレンダリングされない

分類Dev

ハイストックX軸(日付値)が正しくレンダリングされない

分類Dev

$ emitですべてのチェックボックスを選択してもビューが再レンダリングされない-Vuejs

分類Dev

チェックボックスのInputAttributesとLabelAttributesがポストバック後にレンダリングされないのはなぜですか?

分類Dev

shinyTreeがチェックボックス出力をレンダリングしない

分類Dev

ボックスシャドウカラー関数のCSSカスタムプロパティがSafariで正しくレンダリングされない

分類Dev

jQueryステップが正しくレンダリングされない

分類Dev

チェックボックスの数が正しく表示されない

分類Dev

チェックボックスノックアウトクリックバインディングが正しく機能しない

分類Dev

スケッチの処理がWebブラウザで正しくレンダリングされない

分類Dev

ThreeJSテクスチャが平面上で正しくレンダリングされない

分類Dev

チェックボックスで角度バインディングが正しく機能しない(webkit)

Related 関連記事

  1. 1

    Angular 6 / PrimeNg6でチェックボックスとラジオボタンが正しくレンダリングされない

  2. 2

    チェックボックスが再レンダリング時にリセットされない

  3. 3

    テクスチャが正しくレンダリングされない(OpenGL)

  4. 4

    OpenGLESテクスチャが正しくレンダリングされない

  5. 5

    シェーダーでテクスチャが正しくレンダリングされない

  6. 6

    ビューが表示された後にクリックをトリガーすると、スイッチが正しくレンダリングされない

  7. 7

    フレックスdivでパグスパンが正しくレンダリングされない

  8. 8

    オートコンプリートコンボボックスボタンが正しくレンダリングされない

  9. 9

    ブートストラップチェックボックスボタンが正しく表示されない

  10. 10

    Safariでフレックスグリッドが正しくレンダリングされない-フレックスアイテムに高さがない

  11. 11

    データバインディングを使用してViewPagerでAndroidチェックボックスが正しくチェックされない

  12. 12

    フレックスボックスアイテムがChromeで正しく再レンダリングされない

  13. 13

    セレンチェックボックスがクリックされない

  14. 14

    セレンチェックボックスがクリックされない

  15. 15

    チェックボックスの値がバックエンドAPIに正しく渡されない

  16. 16

    StripeElementクイックスタートの例が正しくレンダリングされない

  17. 17

    Vuetifyのチェックボックスコンポーネントが正しく表示されない

  18. 18

    React.jsとMapbox:react.jsを使用するとマップボックスマップが正しくレンダリングされない

  19. 19

    ハイストックX軸(日付値)が正しくレンダリングされない

  20. 20

    $ emitですべてのチェックボックスを選択してもビューが再レンダリングされない-Vuejs

  21. 21

    チェックボックスのInputAttributesとLabelAttributesがポストバック後にレンダリングされないのはなぜですか?

  22. 22

    shinyTreeがチェックボックス出力をレンダリングしない

  23. 23

    ボックスシャドウカラー関数のCSSカスタムプロパティがSafariで正しくレンダリングされない

  24. 24

    jQueryステップが正しくレンダリングされない

  25. 25

    チェックボックスの数が正しく表示されない

  26. 26

    チェックボックスノックアウトクリックバインディングが正しく機能しない

  27. 27

    スケッチの処理がWebブラウザで正しくレンダリングされない

  28. 28

    ThreeJSテクスチャが平面上で正しくレンダリングされない

  29. 29

    チェックボックスで角度バインディングが正しく機能しない(webkit)

ホットタグ

アーカイブ