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 相关文章推荐
document.getElementById方法在Firefox与IE中的区别
May 18 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
Sep 24 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
Jun 06 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
Dec 22 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
纯js实现画一棵树的示例
Sep 05 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 jQuery
使用post方法实现json往返传输数据的方法
Mar 30 Javascript
vue动态注册组件实例代码详解
May 30 Javascript
vue 开发企业微信整合案例分析
Dec 02 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
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
js实现计算器功能
2020/08/10 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
tensorflow中next_batch的具体使用
2018/02/02 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
Python 的AES加密与解密实现
2019/07/09 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
Python 实现向word(docx)中输出
2020/02/13 Python
python实现从ftp服务器下载文件
2020/03/03 Python
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
网络安全方面的面试题
2016/01/07 面试题
UNIX文件名称有什么规定
2013/03/25 面试题
给水工程专业毕业生自荐信
2014/01/28 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
市场调查策划方案
2014/06/10 职场文书
学习礼仪心得体会
2014/09/01 职场文书
入党个人总结范文
2015/03/02 职场文书
大学生暑假实习总结
2015/07/13 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
基于docker安装zabbix的详细教程
2022/06/05 Servers