primeNG确认对话框消息显示为html

时间:2017-05-19 06:36:06

标签: angular primeng confirmation

我需要将确认对话框消息显示为html,这就是我在组件中查看对话框的方式:

this.confirmationService.confirm({
        header: "Change user status",
        message: "Do you want to change user status to <strong>" + status + "</strong >?",
        accept: () => {
            //
        }
    });

这就是它在页面上的样子:

enter image description here

我尝试过两种方式,但没有成功

<p-confirmDialog width="500" appendTo="body">
<template pTemplate="body">
    <span class="ui-confirmdialog-message">{{message}}</span>
</template>

<p-confirmDialog width="500" [innerHTML]="message"></p-confirmDialog>

2 个答案:

答案 0 :(得分:0)

PrimeNG ConfirmDialog的消息元素类是ui-confirmdialog-message

在ts文件中设置属性(例如:message)

        public message: string;
    ...
        this.confirmationService.confirm({
            header: "Change user status",
            message: this.message,
            accept: () => {
                //
            }
        });

       this.message = document.getElementsByClassName('ui-confirmdialog-message')[0].innerHTML = "Do you want to change user status to <span id='someOtherId'>" + status + "</span >?"

然后在你的root styles.css中添加:

.ui-confirmdialog-message span#someOtherId { color: yourColor};

你可以首先查看console.log“document.getElementsByClassName('ui-confirmdialog-message')”以查看其中的内容。我有一个数组,[0]元素包含我的初始ConfirmDialog消息。

可能有一种更好的方法,但我在看到你的问题之后碰巧解决了这个问题,这对我有用。Check this result

答案 1 :(得分:0)

所以这有点旧,但对于未来 - 解决方案是更改 message 的引用类型。

所以,改变

 message: "Do you want to change user status to <strong>" + status + "</strong >?",

 message: `Do you want to change user status to <strong>" + status + "</strong >?`,