typescript 角形材料matTooltip打断线元素

gwo2fgha  于 2023-02-05  发布在  TypeScript
关注(0)|答案(3)|浏览(144)

我使用Angular 7和Angular 材质matTooltip。
我希望工具提示显示下一行中的每个元素,如下所示:

但是,我得到的却是这个:

每行有3个元素,我不想要这样,我想要每行一个元素。
我的代码如下:

    • 应用程序组件. ts**
items=['15-09-2020: 200','16-09-2020: 200','17-09-2020: 200', '18-09-2020: 200'];
newItems = this.items.join("\r\n");
    • 应用程序.组件. html**
<div class="col col-sm-2" matTooltipPosition="after" matTooltip="{{ items}}"></div>

检查这个例子,是不是为我工作:
Stackbliz

e4yzc0pl

e4yzc0pl1#

Asaf的答案非常适合我。Angular 14

matTooltip="Component: Test &#13;&#10;Last updated date: 2023-01-17T09:17:02.753Z"

Mattooltip

ewm0tg9j

ewm0tg9j2#

我已经在我的项目中使用&#13;&#10;修复了这个问题
因此,您需要做的是:

newItems = this.items.join("&#13;&#10;");

还有一件事,你需要改变这个:

matTooltip="{{ items}}"

对此:

[matTooltip]="items"
mwg9r5ms

mwg9r5ms3#

来源:https://www.angularjswiki.com/material/tooltip/
对于那些希望在工具提示中有隔断线的人来说,这有点晚了,你可以在全局CSS中创建一个自定义类,然后用"matTooltipClass"添加这个类。

    • 超文本标记语言**
<button mat-raised-button
    matTooltip="Multiline Tooltip &#13; This is second line"
    matTooltipClass="multiline-tooltip">
    Multiline tooltip
</button>
    • 全球CSS**
.multiline-tooltip{
  white-space: pre-line;
}

您也可以添加您的特定组件,您应该添加

encapsulation: ViewEncapsulation.None

到您的 * 组件. ts *

@Component({
  selector: 'app-tooltip',
  templateUrl: './tooltip.component.html',
  styleUrls: ['./tooltip.component.scss'],
  encapsulation: ViewEncapsulation.None
})
export class TooltipComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

}

https://siderite.dev/blog/styling-angular-material-tooltips.html/
希望这能帮助到其他人

相关问题