angular6开发steps步骤条组件

本文实例为大家分享了angular6开发steps步骤条组件的实现代码,供大家参考,具体内容如下:

1、先展示步骤条效果

2、使用angular命令快速创建组件

ng g c component/steps

创建的组件在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、代码

1)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>

2)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";
  }
 }

}

3)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、在项目中引用创建的组件

<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:步骤条参数
//active:设置当前激活步骤,默认为1

Chapter 1, Introducing Angular, is an introduction to Angular as well as the concepts behind it. It also covers what it takes to start writing an Angular application. Chapter 2, Hello Angular, walks through creating a very simple Angular application, and diving into how the pieces work together. It also introduces the Angular CLI. Chapter 3, Useful Built-In Angular Directives, digs into the basic built-in Angular directives (including ngFor, ngIf, etc.) and when and how to use them. Chapter 4, Understanding and Using Angular Components, covers Angular components in more detail, as well as the various options available when creating them. It also covers the basic lifecycle hooks available with components. Chapter 5, Testing Angular Components, introduces how to unit test angular components using Karma and Jasmine, along with the Angular testing framework. Chapter 6, Working with Template-Driven Forms, covers creating and working with forms in Angular, specifically template-driven forms. Chapter 7, Working with Reactive Forms, covers the other way of defining and working with forms, which is how to create and develop reactive forms. Chapter 8, Angular Services, covers Angular services, which includes how to use built-in Angular services, as well as how and when to define our own Angular services. Chapter 9, Making HTTP Calls in Angular, moves into the server communication aspect of Angular, and delves into making HTTP calls, as well as some advanced topics like interceptors and the like. Chapter 10, Unit Testing Services, takes a step back and covers unit testing again, but this time with a focus on unit testing services. This includes testing simple services and slightly harder cases like asynchronous flows as well as services and components that make HTTP calls. Chapter 11, Routing in Angular, goes in depth into how we can accomplish routing in an Angular application and covers the Angular routing module in detail as well as a majority of its features. Chapter 12, P
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若依Leo - 弹架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值