Как я могу отформатировать (новые строки) в bodyText модального диалога ui.bootstrap

0

У меня в моем AngularJS-скрипте есть ui.bootstrap confirmdlg:

var modalDlgOptions = {
  closeButtonText: "No",
  actionButtonText: "Yes",
  headerText: "my header text",
  bodyText: "my body text" 
};
confirmDlg.showModal({}, modalDlgOptions).then(function (result) {
  // todo something         
});     

Это прекрасно работает. Но теперь я хочу отформатировать bodyText. Мне нужны новые строки:

first line in my body text
second line in my body text
...
last line in my body text

Когда я использую

bodyText: "first line in my body text<br>second line in my body text<br>...<br>last line in my body text";

или

bodyText: "first line in my body text&lt;br&gt;second line in my body text&lt;br&gt;...&lt;br&gt;last line in my body text";

я получил

first line in my body text&lt;br&gt;second line in my body text&lt;br&gt;...&lt;br&gt;last line in my body text

в выводе моего диалога, но не в новых строках.

Можно ли форматировать bodyText подтвержденияDlg и как?

Спасибо за ваши советы, Томас

  • 0
    Вы пробовали <br /> или заключили строку в <p></p>
  • 2
    нужно использовать ng-bind-html и включить скрипт ngSanitize в приложение ... см. документацию
Показать ещё 1 комментарий
Теги:
ui.bootstrap
showmodaldialog

2 ответа

0

Улучшение предыдущего решения:

var waitForElementByClassName  = function(element, timeout, callBack) {
      window.setTimeout(function(){
        if (document.getElementsByClassName(element)[0]){
          callBack(document.getElementsByClassName(element)[0]);
        } else {
            waitForElementByClassName(element, timeout, callBack);
        }
      }, timeout);
};

waitForElementByClassName("modal-body", 50, function(element) {
        element.innerHTML = "first line in my body text<br />second line in my body text<br /> ... <br />last line in my body text";
        });
0

Я нашел это решение:

var modalDlgOptions = {
  closeButtonText: "No",
  actionButtonText: "Yes",
  headerText: "my header text",
  bodyText: "" 
};

confirmDlg.showModal({}, modalDlgOptions).then(function (result) {
  // todo something         
}); 

setTimeout(function() { 
  var modalBody = document.getElementsByClassName("modal-body");
  modalBody[0].innerHTML = "first line in my body text<br />second line in my body text<br /> ... <br />last line in my body text";
}, 100);    

Спасибо за комментарии, Томас

Ещё вопросы

Сообщество Overcoder
Наверх
Меню