回答
好吧,似乎我找到了一個解決方案(但它沒有在API的任何地方聲明)。
- 添加對步進器的引用,然後在組件typescript文件中添加引用
ViewChild
。 - 創建一個方法來更改步進器的索引。
HTML:
<mat-horizontal-stepper [linear]="true" #stepper>
<!-- Content here -->
</mat-horizontal-stepper>
TS:
import { Component, ViewChild } from '@angular/core';
@Component({
// ...
})
export class AppComponent {
@ViewChild('stepper') stepper;
/**
* Changes the step to the index specified
* @param {number} index The index of the step
*/
changeStep(index: number) {
this.stepper.selectedIndex = index;
}
}
這似乎太好了,以至於沒有。在使用此類時出現錯誤:'TypeError:無法讀取MdVerticalStepper.webpackJsonp中未定義的 屬性'toArray'.../../../cdk/esm5/stepper.es5.js.CdkStepper._anyControlsInvalid(stepper .es5.js:351)'有人知道爲什麼嗎? –
檢查如果這個stepper component可以解決您的問題。
謝謝!但我沒有要求替代品,我不想「污染」與未知來源的項目 –
我不知道你是什麼意思污染。這是純粹用角和角材料建造的。 – bhanu
It is possible to jump to a specific stepper.
MatStepper
exposes a public propertyselectedIndex
which specifies the current selected step index. It can be set. The index starts at 0.
在模板:
添加ID到您的步進例如#stepper
。然後在您的步驟是在功能添加一個按鈕,並通過步進編號上(click)
象下面這樣:
<mat-horizontal-stepper [linear]="isLinear" #stepper>
<!-- Your other steps here -->
<mat-step [stepControl]="secondFormGroup">
<!-- Content in the step -->
<div>
<!-- Other actions here -->
<button mat-button (click)="resetStepper(stepper)">Reset</button>
</div>
</mat-step>
<!-- More steps here -->
</mat-horizontal-stepper>
..並在您的打字稿:
import { MatStepper } from '@angular/material';
resetStepper(stepper: MdStepper){
stepper.selectedIndex = 0;
}
43分鐘太晚:)謝謝無論如何,它總是很好有一個像你的演示解決方案的工作演示 –
只是看到了問題:)不要忘記upvote,如果這是有用的:) – Faisal
好吧,「重置」似乎工作只是部分,如果你想重置表單,它會清除值,但表單保持無效。 我分叉您的演示在這裏演示演示(https://stackblitz.com/edit/angular-material2-beta-2upkqd?file=app/app.component.ts) –
我嘗試提供的解決方案,他們幾乎爲我工作,我得到了以下錯誤:
TypeError: Cannot read property 'toArray' of undefined
at MdVerticalStepper.webpackJsonp.../../../cdk/esm5/stepper.es5.js.CdkStepper._anyControlsInvalid (stepper.es5.js:351)
這個小調整工作對我來說(使用材料2公測11):
changeStep(index: number) {
console.log(this.stepper);
this.stepper._selectedIndex = 2;
}
- 1. 材料角度與角4在生產
- 2. 材料(垂直)步進器
- 3. 角度材料4柔性佈局
- 4. 角度材料,$ mdDialog
- 5. 角度和角度材料[$ injector:modulerr]
- 6. 角度材料VS Materialisecss
- 7. Pinterest角度材料佈局
- 8. 材料和角度2
- 9. 錯誤:角度2材料
- 10. 更改材料角度日期選擇器的語言4
- 11. angular2材料「進步圈」
- 12. Vue材料步進器提交
- 13. 具有角-CLI +角度材料
- 14. 角材料MD-分頻器
- 15. 角度材料 - 設定固定寬度?
- 16. Cofigure角度材料輸入的高度
- 17. 角2材料
- 18. 角材料
- 19. 請添加@NgModule註釋。角4 /材料
- 20. 角4材料表不會填充
- 21. 角度材料的進度循環指令不起作用
- 22. 安裝角度材料2與角度4未滿足的依賴關係
- 23. 組件的角度4材料自定義顏色
- 24. 角度4材料標籤加載標籤選擇
- 25. Can Bootstrap(4)可與角度材料(2)一起集成嗎?
- 26. 如何實現角度4材料Sidenav組件?
- 27. MdCommonModule自定義角度4模塊與材料
- 28. 帶開關角度過濾器列表(角材料)?
- 29. 量角器 - 無法點擊角度材料標籤
- 30. 如何選擇角度材料2和量角器的選項?
@Edric又怎會讓卸下'角material2'標籤? \ o/ – Faisal
@Faisal只是想知道,但是[tag:angular-material]和[tag:angular-material2]之間是否有區別? – Edric
沒有imo,但大多數用戶使用'angular-material2'標籤發佈問題。我認爲我們應該創建一個這個標籤作爲'angular-material'的同義詞。一旦我在該標籤中有足夠的分數,我會建議。 – Faisal