Установка определенного стиля компонента для сгенерированного HTML в компоненте материала - PullRequest
0 голосов
/ 25 сентября 2018

Я добавил радиогруппу к компоненту:

<div class="auction-filter-wrapper">
  <mat-radio-group class="auction-filter" (change)="onChange($event)">
    <mat-radio-button class="auction-filter-button" value="0">Both</mat-radio-button>
    <mat-radio-button class="auction-filter-button" value="Bid">Bid</mat-radio-button>
    <mat-radio-button class="auction-filter-button" value="BuyNow">Buy Now</mat-radio-button>
  </mat-radio-group>
</div>

Это отображает следующий HTML-код на сайте:

<div _ngcontent-c32="" class="auction-filter-wrapper">
  <mat-radio-group _ngcontent-c32="" class="auction-filter mat-radio-group" role="radiogroup">
    <mat-radio-button _ngcontent-c32="" class="auction-filter-button mat-radio-button mat-accent" value="0"
      ng-reflect-value="0" id="mat-radio-2"><label class="mat-radio-label" for="mat-radio-2-input">
        <div class="mat-radio-container">
          <div class="mat-radio-outer-circle"></div>
          <div class="mat-radio-inner-circle"></div>
          <div class="mat-radio-ripple mat-ripple" mat-ripple="" ng-reflect-centered="true" ng-reflect-radius="23"
            ng-reflect-animation="[object Object]" ng-reflect-disabled="false" ng-reflect-trigger="[object HTMLLabelElement]"></div>
        </div><input class="mat-radio-input cdk-visually-hidden" type="radio" id="mat-radio-2-input" tabindex="0" name="mat-radio-group-0">
        <div class="mat-radio-label-content"><span style="display:none">&nbsp;</span>Both</div>
      </label></mat-radio-button>
    <mat-radio-button _ngcontent-c32="" class="auction-filter-button mat-radio-button mat-accent" value="Bid"
      ng-reflect-value="Bid" id="mat-radio-3"><label class="mat-radio-label" for="mat-radio-3-input">
        <div class="mat-radio-container">
          <div class="mat-radio-outer-circle"></div>
          <div class="mat-radio-inner-circle"></div>
          <div class="mat-radio-ripple mat-ripple" mat-ripple="" ng-reflect-centered="true" ng-reflect-radius="23"
            ng-reflect-animation="[object Object]" ng-reflect-disabled="false" ng-reflect-trigger="[object HTMLLabelElement]"></div>
        </div><input class="mat-radio-input cdk-visually-hidden" type="radio" id="mat-radio-3-input" tabindex="0" name="mat-radio-group-0">
        <div class="mat-radio-label-content"><span style="display:none">&nbsp;</span>Bid</div>
      </label></mat-radio-button>
    <mat-radio-button _ngcontent-c32="" class="auction-filter-button mat-radio-button mat-accent" value="BuyNow"
      ng-reflect-value="BuyNow" id="mat-radio-4"><label class="mat-radio-label" for="mat-radio-4-input">
        <div class="mat-radio-container">
          <div class="mat-radio-outer-circle"></div>
          <div class="mat-radio-inner-circle"></div>
          <div class="mat-radio-ripple mat-ripple" mat-ripple="" ng-reflect-centered="true" ng-reflect-radius="23"
            ng-reflect-animation="[object Object]" ng-reflect-disabled="false" ng-reflect-trigger="[object HTMLLabelElement]"></div>
        </div><input class="mat-radio-input cdk-visually-hidden" type="radio" id="mat-radio-4-input" tabindex="0" name="mat-radio-group-0">
        <div class="mat-radio-label-content"><span style="display:none">&nbsp;</span>Buy Now</div>
      </label></mat-radio-button>
  </mat-radio-group>
</div>

Как указать стили области компонента для таких элементов, как: <label class="mat-radio-label" for="mat-radio-2-input">?

Я пробовал такие вещи, как:

:host {
    .auction-filter-button {
        ::ngdeep {
            label {
                padding-left: 0 !important;
            }
        }
    }
}

и

:host {
    .auction-filter-button {
        label {
            padding-left: 0 !important;
        }
    }
}

Но селектор неправильный.

Какой правильный путьполучить доступ к этим узлам и стилизовать их, не устанавливая стиль глобально?Это возможно или глобальный стиль - единственный способ сделать это?

1 Ответ

0 голосов
/ 25 сентября 2018

Глупая ошибка.Я использовал ::ngdeep вместо ::ng-deep.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...