angular6开发steps步骤条组件


Posted in Javascript onJuly 04, 2019

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

1.先展示步骤条效果

angular6开发steps步骤条组件

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

ng g c component/steps

创建的组件在component文件夹下面

angular6开发steps步骤条组件

打开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在项目中引用创建的组件

<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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript实现分割提取页面所需内容
May 09 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
jQuery入门之层次选择器实例简析
Dec 11 Javascript
详解javascript实现瀑布流绝对式布局
Jan 29 Javascript
JS制作图形验证码实现代码
Oct 19 Javascript
Angular2 (RC4) 路由与导航详解
Sep 21 Javascript
利用vue写todolist单页应用
Dec 15 Javascript
JS简单获取当前日期和农历日期的方法
Apr 17 Javascript
angular使用post、get向后台传参的问题实例
May 27 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 Javascript
angularjs使用div模拟textarea文本框的方法
Oct 02 Javascript
vue-cli3添加模式配置多环境变量的方法
Jun 05 Javascript
13 个npm 快速开发技巧(推荐)
Jul 04 #Javascript
微信小程序在线客服自动回复功能(基于node)
Jul 03 #Javascript
解决vue打包后vendor.js文件过大问题
Jul 03 #Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
Jul 03 #Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 #Javascript
微信小程序中如何使用flyio封装网络请求
Jul 03 #Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 #jQuery
You might like
很让人受教的 提高php代码质量36计
2012/09/05 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
解析Javascript中大括号“{}”的多义性
2013/12/02 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
解决await在forEach中不起作用的问题
2021/02/25 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
基于python socketserver框架全面解析
2017/09/21 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
Python3列表List入门知识附实例
2020/02/09 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
美国儿童运动鞋和服装零售商:Kids Foot Locker
2017/08/05 全球购物
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
旅行社各个岗位职责
2014/03/15 职场文书
法人委托书范本
2014/09/15 职场文书
法人代表证明书
2014/09/18 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
2014年项目工作总结
2014/11/24 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python