angular6開發(fā)steps步驟條組件
本文實例為大家分享了angular6開發(fā)steps步驟條組件的實現(xiàn)代碼,供大家參考,具體內(nèi)容如下
1.先展示步驟條效果

2.使用angular命令快速創(chuàng)建組件
ng g c component/steps
創(chuàng)建的組件在component文件夾下面

打開steps.component.ts文件,可以看到selector的值是app-steps
import { Component, OnInit} from '@angular/core';
@Component({
selector: 'app-steps',
templateUrl: './steps.component.html',
styleUrls: ['./steps.component.css']
})
export class StepsComponent implements OnInit {
constructor() { }
ngOnInit() { }
}
3.代碼
steps.component.html
<div class="steps">
<ul class="lineUl">
<li *ngFor="let item of stepsData; let i=index" [ngClass]="{'liWidth': i+1 == stepsData.length}">
<div class="stepsIcon">
<div class="radioSelect radioSelectDisabled" [ngClass]="{'radioSelectDisabled': i+1>active}"></div>
<div *ngIf="i+1 != stepsData.length" class="line" [ngClass]="{'lineDefaule': i+2>active}">
<span *ngIf="!!item.tips">{{item.tips}}</span>
</div>
</div>
</li>
</ul>
<ul class="text">
<li *ngFor="let item of stepsData; let i=index">
<div class="title" *ngIf="!!item.title">{{item.title}}</div>
<div class="description" *ngIf="!!item.description">{{item.description}}</div>
</li>
</ul>
</div>
steps.component.ts
import { Component, OnInit, Input } from '@angular/core';
//引入Input
@Component({
selector: 'app-steps',
templateUrl: './steps.component.html',
styleUrls: ['./steps.component.css']
})
export class StepsComponent implements OnInit {
@Input() stepsData:any;
@Input() active:string;
constructor() { }
ngOnInit() {
console.log(!!!this.active)
if(!!!this.active){
this.active="1";
}
}
}
steps.component.css
.steps ul{
display: flex;
}
li{
width: 100%;
text-align: center;
}
.lineUl{
padding: 0px 10%;
margin-bottom: 5px;
}
.liWidth{
width: 20px;
}
.stepsIcon{
display: flex;
}
.radioSelect {
box-sizing: border-box;
display: inline-block;
border-radius: 100%;
border: 1px solid #26a2ff;
position: relative;
width: 20px;
height: 20px;
vertical-align: middle;
background-color: #26a2ff;
}
.radioSelect::after {
border: 2px solid transparent;
border-left: 0;
border-top: 0;
content: ' ';
top: 3px;
left: 6px;
position: absolute;
width: 4px;
height: 8px;
border-color: #fff;
-webkit-transform: rotate(45deg) scale(1);
transform: rotate(45deg) scale(1);
-webkit-transition: -webkit-transform 0.2s;
transition: -webkit-transform 0.2s;
transition: transform 0.2s;
transition: transform 0.2s, -webkit-transform 0.2s;
}
.radioSelectDisabled {
background-color: #d9d9d9;
border-color: #ccc;
}
.line{
display: block;
flex: 1;
height: 16px;
border-bottom: 1px solid#26a2ff;
margin-top: -5px;
font-size: 12px;
color: #26a2ff;
}
.lineDefaule{
border-bottom: 1px solid#d9d9d9;
}
.title{
font-size: 14px;
}
.description{
font-size: 12px;
}
4在項目中引用創(chuàng)建的組件
<app-steps [stepsData]="stepsData" [active]='3'></app-steps>
public stepsData:any = [
{
title:'步驟1',
description:'描述文件'
},
{
title:'步驟2',
description:'描述文件'
},
{
title:'步驟3',
description:'描述文件',
tips:'待開獎'
},
{
title:'步驟4',
description:'描述文件'
}
];
//stepsData:步驟條參數(shù)
//active:設(shè)置當(dāng)前激活步驟,默認為1
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
AngularJS獲取json數(shù)據(jù)的方法詳解
這篇文章主要介紹了AngularJS獲取json數(shù)據(jù)的方法,結(jié)合實例形式詳細分析了AngularJS獲取json數(shù)據(jù)的詳細步驟、操作技巧與相關(guān)注意事項,需要的朋友可以參考下2017-05-05
AngularJS使用指令增強標(biāo)準(zhǔn)表單元素功能
這篇文章主要介紹了AngularJS使用指令增強標(biāo)準(zhǔn)表單元素功能,包括數(shù)據(jù)綁定、建立模型屬性、驗證表單等,感興趣的小伙伴們可以參考一下2016-07-07
Angular5中調(diào)用第三方j(luò)s插件的方法
下面小編就為大家分享一篇Angular5中調(diào)用第三方j(luò)s插件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
Angular實現(xiàn)點擊按鈕后在上方顯示輸入內(nèi)容的方法
這篇文章主要介紹了Angular實現(xiàn)點擊按鈕后在上方顯示輸入內(nèi)容的方法,涉及AngularJS事件響應(yīng)及頁面元素屬性動態(tài)設(shè)置相關(guān)操作技巧,需要的朋友可以參考下2017-12-12

