0

からアクセスできる別の Button css クラスを作成しようとしていますClientBundle。私の目標は、アプリケーションの状態によってボタンのスタイルをプログラムで変更することです。

以下はボタンスタイルを適用しますが、背景を変更しないため、-ok依存するスタイル名は考慮されません。なんで?

.myButton {
    background: white;
}

.myButton-ok {
    background: green;
}

public interface MyButtonResource extends ClientBundle {
    public static final MyButtonResource INSTANCE = GWT.create(MyButtonResource.class);

    @Source("MyButtonResource.css")
    Style css();

    interface Style extends CssResource {
        @ClassName("myButton")
        String buttonStyle();

        @ClassName("myButton-ok")
        String buttonStyleOK();
    }
}


MyButtonResource.INSTANCE.css().ensureInjected();
setStyleName(MyButtonResource.INSTANCE.css().buttonStyle());
button.addStyleDependentName(MyButtonResource.INSTANCE.css().buttonStyleOK());
4

1 に答える 1

0

addStyleDependentName難読化された css リソースを使用することはできません。この問題を参照してください

問題は、要素のスタイルを設定する現在のスタイルにaddStyleDependentName接尾辞を追加することです-okbuttonbutton-ok

ただし、難読化ツールが機能すると、リソース内でAAforbuttonおよびABforという結果になりbutton-okます。結果として、コードを OK ステータスに適用するとAA-AB、CSS セクションのどのルールとも一致しないボタンが表示されます。

これに直面する唯一の方法は、ウィジェットに 2 番目のスタイルを追加することです。

button.addStyleName(MyButtonResource.INSTANCE.css().buttonStyleOK());

于 2013-04-08T05:44:00.460 に答える