Open battre opened 6 years ago
@battre I think yout workaround is not very clear. For those who didn't understand in a first moment, like me, what you got to do is let your tag without any content and put your text outside it. E.g.:
<mat-radio-group>
<div *ngFor="let item of items">
<mat-radio-button [value]="item.id"></mat-radio-button>
<!-- your content goes right below -->
<span>{{ item.description }}</span>
</div>
</mat-radio-group>
This should solve your problem.
Redefine that style:
.mat-radio-label {
white-space: normal;
}
Redefine that style:
.mat-radio-label { white-space: normal; }
white-space: normal didn't work. Not sure why. The <span></span>
technique worked.
=== styles.css ===
.mat-checkbox-layout { white-space: normal !important; }
.mat-radio-label { white-space: normal !important; }
make sure to have your overrides in styles.scss having it in spans isn't accessible
This is a (partial) duplicate of https://github.com/angular/components/issues/8416
@battre I think yout workaround is not very clear. For those who didn't understand in a first moment, like me, what you got to do is let your tag without any content and put your text outside it. E.g.:
<mat-radio-group> <div *ngFor="let item of items"> <mat-radio-button [value]="item.id"></mat-radio-button> <!-- your content goes right below --> <span>{{ item.description }}</span> </div> </mat-radio-group>
This should solve your problem.
doing this, the text will lose the click event that check the radio button.
Looks like the rendering of my comment has changed. I have escaped all HTML tags with backticks and it should be readable now.
I solved the problem adding ::ng-deep.
::ng-deep.mat-radio-label {
white-space: normal !important;
}
Yo solucione el problema usando: ::ng-deep .mat-radio-label{ word-break: break-word !important; white-space: normal !important; }
Bug, feature request, or proposal:
Proposal: change
<mat-radio-button>
or<mat-checkbox>
to line-wrap its contents by default or add an option.What is the expected behavior?
I can put a text into a
<mat-radio-button>
or<mat-checkbox>
that is longer than what fits into the viewport.What is the current behavior?
The content in a or does not line wrap. If you have a lot of text in a it gets cut at the end.
A workaround would be
<mat-radio-button><span style="white-space: normal;">{{mylongtext}}</span></mat-radio-button>
What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-uaeetd?file=app/app.component.html
What is the use-case or motivation for changing an existing behavior?
I have a pretty narrow window and need to put checkboxes and radio buttons in there.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I think all of them.
Is there anything else we should know?