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 相关文章推荐
用jquery实现等比例缩放图片效果插件
Jul 24 Javascript
js实现checkbox全选和反选示例
May 01 Javascript
javascript检查某个元素在数组中的索引值
Mar 30 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
Vue调试神器vue-devtools安装方法
Dec 12 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
ES6 fetch函数与后台交互实现
Nov 14 Javascript
JS字典Dictionary类定义与用法示例
Feb 01 Javascript
微信小程序canvas绘制圆角base64图片的实现
Aug 18 Javascript
详解小程序如何改变onLoad的执行时机
Nov 01 Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 Javascript
vue实现Toast组件轻提示
Apr 10 Vue.js
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对现有搜索引擎的调用
2013/06/25 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
javascript globalStorage类代码
2009/06/04 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
python正则表达式re模块详解
2014/06/25 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
Python的log日志功能及设置方法
2019/07/11 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
汽车维修工岗位职责
2014/02/12 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
文化建设工作方案
2014/05/12 职场文书
助理政工师申报材料
2014/06/03 职场文书
管理标语大全
2014/06/24 职场文书
入党函调证明材料
2015/06/19 职场文书
教师节晚会主持词
2015/06/30 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书