Vaadin-combo-box: 入力プロンプト内に値があるコンボボックスからぼやけると、スクロールバーが表示されます

作成日 2018年12月11日  ·  18コメント  ·  ソース: vaadin/vaadin-combo-box

バージョン:10.0.9
(12.0.2で動作します)
コンボボックスからのぼかしイベント(入力プロンプト内に値がある)が発生すると、水平スクロールバーと垂直スクロールバーの両方が1秒間表示されます。

うまくいけば、ビデオは問題をよりよく説明しています:

comboboxjumps

bug flow

全てのコメント18件

これは、レイアウトの問題/スタイルの問題/クライアント側の問題(またはそれらの任意の組み合わせ)である可能性があります。

問題が正確にどこにあるかを理解するために再現するために使用できるソースコードを提供してください。
サーバー側からcombo-boxコンポーネントに何も追加しないと確信しているので、これが純粋なコンボボックスの問題であるとは思えません。 ここには他の何かが関係しているはずです。

ソースコードを待っています。

申し訳ありませんが、ここに追加するのを忘れました
`` `
最終的なコンボボックスcombobox = new ComboBox <>( "Farbauswahl");

    ArrayList<String> items=new ArrayList<>(Arrays.asList("rot", "grün", "gelb", "blau"));
    combobox.setItems(items);

    Button button = new Button("Click me",
            event -> Notification.show("Clicked!" + combobox.getValue()));

    add(combobox);
    add(button);

`` `

1つのレポートで2つのまったく異なる問題のように見えます。

これが私が再現するために使用する完全なソースコードです:

@Route("input-combo")
public class InputComboBoxPage extends Div {

    public InputComboBoxPage() {
        final ComboBox<String> combobox = new ComboBox<>("Farbauswahl");

        ArrayList<String> items = new ArrayList<>(
                Arrays.asList("rot", "grün", "gelb", "blau"));
        combobox.setItems(items);

        NativeButton button = new NativeButton("Click me",
                event -> System.out.println("xxx"));

        add(combobox);
        add(button);
    }
}

(このコードを使用して、テストインフラストラクチャにそのままコピーアンドペーストできます)。

私が見るもの:

  • 表示されるスクロールバーはありません。
  • コンボボックスに何かが書かれていると、ボタンがクリックを逃します。 クリックできるようにするには、フォーカスを別のフォーカスに切り替える必要があります。

したがって、この問題はスクロールバーに関するものであり、再現できません。
前に言ったように、これはコンボボックスに何らかのレイアウトまたはスタイルを使用した結果であるはずです。 コンボボックスに使用するコンテナは重要です。 Divを使用していますが、スクロールバーがありません。

_IF_問題はクリックできないことに関するものであり、これが問題であるかどうかはまったくわかりません(これがコンボボックスの動作方法である可能性があります)。 しかし、それは確かに問題として提出されるかもしれません。

したがって、このチケットには説明が必要です。 スクロールバーは、クリックできないこととは完全に独立しています。 クリックの問題は個別に作成される場合があります。
この問題は、スクロールバーに関するものか、_only_をクリックする必要があります。
スクロールバーの場合、それを再現できる正確なJavaコードが必要です。 コードで再現できません。

私はあなたのコードを使って問題を再現することもできます。

いくつかの値をコンボボックスに入れてから、外側をクリックしていますか? 外側をクリックしていて、入力問題の内側に何も入れられていない場合、問題は再現できません。 したがって、たとえば、そこにxxxを置いて、クリックします。 次に、スクロールバーが表示されます。

説明が曖昧すぎてごめんなさい。 この特定のケースでは、他の問題の根本的なケースである可能性があるため、スクロールバーに関心があります。 (ボタンがクリックされていないように。)しかし、実際、問題はスクロールバーです。

はい、コンボボックスのテキストフィールドにいくつかのテキストを書き込みました。

ご不便をおかけして申し訳ありません。 私は以前に11でテストしましたが、あなたの場合と私の場合の両方でV12で正しく動作するようです。

vaadin-combo-box-flow 1.0-SNAPSHOTバージョンを使用しています:再現できません。

正確にどのバージョンを使用していますか?

どうすればこれを確認できますか?

私はバージョンを個別に指定していません、それは私が思うフローバージョンから来ています。 (デフォルトのプロジェクトベーススターターを使用)

フローバージョンではない可能性があります。フローは、組み込みのHTMLコンポーネント以外のコンポーネントを認識しません。

プラットフォーム版です。
プラットフォームpom.xml指定されているコンポーネントのバージョンを確認することができます。
別の方法:プロジェクト内のjarの依存関係を確認するだけです。 すべての瓶にはバージョンがあります。

または、プラットフォームのバージョンを教えてください。 このバージョンは自分で見つけます。

1.0.7

また、プラットフォームバージョンはpomに<vaadin.version>10.0.9</vaadin.version>ありませんか? それとも私は何かを逃していますか?

<vaadin.version>10.0.9</vaadin.version>はプラットフォームバージョンのように見えます。

再現できません。

https://github.com/vaadin/skeleton-starter-flow/tree/v10を使用しました

MainViewコンテンツはに設定されています

final ComboBox<String> combobox = new ComboBox<>("Farbauswahl");

        ArrayList<String> items = new ArrayList<>(
                Arrays.asList("rot", "grün", "gelb", "blau"));
        combobox.setItems(items);

        NativeButton button = new NativeButton("Click me",
                event -> System.out.println("xxx"));

        add(combobox);
        add(button);

スクロールバーはありません。

skeleton-starterを使用して問題を再現してください。 複製できる場合は、プロジェクトをアーカイブして問題に添付するだけです(アーカイブ内のtargetフォルダーを削除することを忘れないでください)。

テストに使用するプロジェクトを添付する
projectbase .zip

添付のプロジェクトではこの問題を再現できません。

構成の違いの結果かもしれないと思います。
つまり、ここではすべてが重要です。

どのブラウザを使用していますか? (名前+バージョン)
どのOSを使用していますか?

これにもっと時間を費やすことはありません。 この問題に取り組む開発者がそれを使用する情報と開発者を提供してください。

Google Chrome | 70.0.3538.110
OS:Windows 10

上記のコメントに記載されているように、問題を再現できなかったため、非アクティブとして終了します。

このページは役に立ちましたか?
0 / 5 - 0 評価