Lablel for md-radio-group

Viewed 10706

I have a group of radio buttons in an Angular 4 Material app:

<md-radio-group fxLayout fxLayoutAlign="center center" fxLayoutGap="30px">
    <md-radio-button value="1">Date</md-radio-button>
    <md-radio-button value="2">Status</md-radio-button>
    <md-radio-button value="3">From</md-radio-button>
    <md-radio-button value="4">To</md-radio-button>
</md-radio-group>

I went through the docs and samples and wasn't able to figure out how to give a label to this group. I need something like this but with proper styling: enter image description here

What is the intended way in Angular Material of adding a label to a radio group?

Obviously, we could add a label and style it from scratch, but it doesn't look terribly productive for the framework of heavily styled components.

3 Answers

This is what you are looking for.

<div fxLayout fxLayoutAlign="center center" fxLayoutGap="30px">
      <label>Sort by</label>  
      <md-radio-group>
        <md-radio-button value="1">Date</md-radio-button>
        <md-radio-button value="2">Status</md-radio-button>
        <md-radio-button value="3">From</md-radio-button>
        <md-radio-button value="4">To</md-radio-button>
      </md-radio-group>
  </div>

css

.mat-radio-button {margin-right: 30px;}

else add flexLayout to your md-radio-group

<md-radio-group fxLayout fxLayoutAlign="center center" fxLayoutGap="30px">

From https://codepen.io/jakobadam/pen/xqZoBR

<!--
  `md-input-has-value` elevates `label`
  `md-input-invalid` shows error message
-->
<md-input-container class="md-input-has-value" 
                    ng-class="{ 'md-input-invalid' : form.fruit.$invalid && form.$submitted }">
  <label class="md-required" translate>Fruit</label>

  <md-radio-group md-autofocus name="fruit" ng-model="fruit" layout="row" required>
    <md-radio-button value="Apple" class="md-primary">Apple</md-radio-button>
    <md-radio-button value="Banana"> Banana </md-radio-button>
    <md-radio-button value="Mango">Mango</md-radio-button>  
  </md-radio-group>

  <div ng-messages="form.fruit.$error">
    <div ng-message="required" translate>Yo. Select some fruit.</div>
  </div>
</md-input-container>

The way I do it is to add a span with some right margin and that does the job

<md-radio-group ng-model="fruit" layout="row">
    <span style="margin-right:3%;">Fruit Name : </span>
    <md-radio-button value="Apple" class="md-primary">Apple</md-radio-button>
    <md-radio-button value="Banana">Banana</md-radio-button>
</md-radio-group>
Related