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打造PHP的AJAX表单提交实例
Nov 03 Javascript
JavaScript Cookie 直接浏览网站分网址
Dec 08 Javascript
同一个网页中实现多个JavaScript特效的方法
Feb 02 Javascript
Bootstrap基础学习
Jun 16 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
Aug 19 Javascript
jquery 正整数数字校验正则表达式
Jan 10 Javascript
js实现二级导航功能
Mar 03 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 Javascript
layui form表单提交后实现自动刷新
Oct 25 Javascript
原生JS实现记忆翻牌游戏
Jul 31 Javascript
vue 导出文件,携带请求头token操作
Sep 10 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 选项及相关信息函数库
2006/12/04 PHP
FCKeditor的安装(PHP)
2007/01/13 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
php的ddos攻击解决方法
2015/01/08 PHP
ucenter通信原理分析
2015/01/09 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
php日期操作技巧小结
2016/06/25 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
axios使用拦截器统一处理所有的http请求的方法
2018/11/02 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
教你用Python创建微信聊天机器人
2020/03/31 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
python中while和for的区别总结
2019/06/28 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
Python多进程编程常用方法解析
2020/03/26 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
信用卡工资证明格式
2014/09/13 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书