首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能做多行matTooltip,总是得到单行

不能做多行matTooltip,总是得到单行
EN

Stack Overflow用户
提问于 2020-03-28 19:47:59
回答 2查看 2.8K关注 0票数 2

使用matTooltip="myMultiLineStringGenerator()“与matTooltipClass=”my- tooltip“相结合,我期望给我多行工具提示,不管我是谁,只要我得到一个线性工具提示,我就无法控制何时行结束并移动到下一行。

复制步骤

HTML部件

代码语言:javascript
运行
复制
<p  [matTooltipClass]="'my-tooltip'"
    [matTooltip]="getTooltopScript(nearestStations)">
            Hello World!
</p>

CSS部分:

代码语言:javascript
运行
复制
.mat-tooltip {
    white-space: pre-line;
}

::ng-deep .mat-tooltip {
   white-space: pre-line;
}

TypeScript

代码语言:javascript
运行
复制
getTooltopScript(ns: any[]]){
      let part1 =  ns[0]['stationName'] ;
      let part2 = ns[0]['regionName'];
      return `${part1}.\r\n\
       ${part2}.`;
}

我读过很多其他堆栈流,所有这些流的结尾都是使用空格: css中的预行和js\type脚本中的\r\n来创建字符串。我不知道我还能做些什么

(请帮助:)

从其他堆栈流中更新CSS,以及下面的第一个注释。我还是没有结果

代码语言:javascript
运行
复制
::ng-deep .mat-tooltip .cdk-overlay-container, ::ng-deep .mat-tooltip .cdk- 
    global-overlay-wrapper {
    white-space: pre-line;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-29 02:50:44

如果您的文本来自ts文件,请找到以下解决方案:

在.ts文件中:

代码语言:javascript
运行
复制
getTooltopScript(){
  return 'Multiline Tooltip \n This is second line';
}

在HTML中:

代码语言:javascript
运行
复制
<p #tooltip2="matTooltip" [matTooltip]="getTooltopScript()">Hello World!</p>

在css文件中:

代码语言:javascript
运行
复制
::ng-deep .cdk-overlay-container, .cdk-global-overlay-wrapper {
  white-space: pre-line;
}

为了正确查看工具提示,我们需要在全局样式表(即style.css)中添加材料样式导入:

在style.css中:

代码语言:javascript
运行
复制
@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';

请参阅下面的工作实例:

https://angular-sf-tooltip-issue-fix.stackblitz.io

https://stackblitz.com/edit/angular-sf-tooltip-issue-fix?file=src%2Fapp%2Fapp.module.ts

票数 2
EN

Stack Overflow用户

发布于 2020-03-28 20:24:55

为此,我们需要重写..cdk overlay-容器的样式,..cdk全局覆盖包装器

代码语言:javascript
运行
复制
::ng-deep .cdk-overlay-container, .cdk-global-overlay-wrapper {
  white-space: pre-line;
}

在HTML中:

代码语言:javascript
运行
复制
<p matTooltip="Multiline Tooltip &#13; This is second line">Hello World!</p>

希望这能帮你解决问题。请参阅下面的工作实例:

https://angular-sf-tooltip-issue-fix.stackblitz.io

https://stackblitz.com/edit/angular-sf-tooltip-issue-fix?file=src%2Fapp%2Fapp.module.ts

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60906153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档