угловой материал stepper: отключить навигацию заголовка
Я хочу перемещаться по шагу, только бросать кнопки next и back. Я не могу заставить это работать, так как пользователи также могут щелкнуть каждую метку шага, чтобы перейти к любому шагу. Я не могу использовать линейный, так как для каждого шага требуется formArray
или FormGroup
.
Я пробовал <mat-step (click)="$event.stopPropagation()">
.
не уверен, что еще попробовать, любые предложения будут очень признательны.
3 ответов
добавьте это в таблицу стилей. Я пытался отключить навигацию заголовков. Пробовал много вещей, но этот хак работал. Вы можете попробовать это, пока Angular Material Team не поддержит эту функцию.
.mat-horizontal-stepper-header{
pointer-events: none !important;
}
Я нашел несколько хакерское решение для этого. Проблема в том, что вы не можете полностью отключить навигацию заголовков, но вы можете запретить ей быть активной до определенного момента.
и этот момент form.invalid
.
моя ситуация была следующей: пользователь должен заполнить форму внутри шага, нажмите "Сохранить" и только тогда сможете использовать NEXT
кнопка и перейдите по шагу дальше (Также назад).
что я сделал, так это представил другого hidden
input
который будет использовать angular [required]
динамический атрибут. Это будет только required
если условие не увенчалась успехом. Как только это удастся, это поле не будет required
и пользователь может перемещаться.
вместе с атрибутом mat-stepper (или MD-stepper)editable
вы должны быть в состоянии достичь того, чего вы хотите.
Дайте мне знать, если вы полностью поняли идею.