2016-02-18 4 views
4

В нашем веб-приложении я использую Angle-Materials $ mdDialog с объектом-подтверждением. Можно ли изменить порядок кнопок от cancel-ok до ok-cancel? И установить начальный фокус на кнопку отмены? Может быть, через CSS или шаблон?

код выглядит следующим образом:

var confirm = this.$mdDialog.confirm() 
    .parent(angular.element(document.body)) 
    .title('Löschen') 
    .content('Möchten Sie wirklich löschen?') 
    .ariaLabel('Löschen') 
    .ok('Ja') 
    .cancel('Nein') 
    .targetEvent(event); 

this.$mdDialog.show(confirm) 
    .then(() => { 
    // do something 
    }); 

enter image description here

+0

Я не думаю, что у них есть, что построено, если вы не используете пользовательский шаблон. Это происходит из-за того, что «Отклоняющие действия всегда расположены прямо слева от утвердительных действий». https://www.google.com/design/spec/components/dialogs.html#dialogs-specs – Jacob

+0

Хорошо, я думаю, вы правы. Но, возможно, мы могли бы найти небольшое обходное решение. – swimagers

+0

На мой взгляд, руководство по разработке материалов здесь просто неправильно. Поскольку я помню, что позитивные действия всегда были на левой стороне пренебрежительных действий. Даже в диалоговом окне подтверждения хрома это происходит так. Зачем менять что-то более 25 лет? –

ответ

6

Это может работать:

md-dialog md-dialog-actions { 
    display: block; 
} 

md-dialog md-dialog-actions button { 
    float: right; 
} 
+0

Хорошая идея, но это не сработало (даже если я поставил a! Важно до конца). – swimagers

+0

Это работает на странице [example page] (https://material.angularjs.org/latest/demo/dialog), поэтому ваш диалог должен иметь разный макет. Вы должны проверить свою структуру html (f.i. с chrome devtools) и применить «display: block;» к контейнеру кнопки и «float: right;» к кнопкам. –

+0

работал для меня спасибо – cbyte