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 11 Javascript
JavaScript生成GUID的多种算法小结
Aug 18 Javascript
转换字符串为json对象的方法详解
Nov 29 Javascript
jquery操作checkbox实现全选和取消全选
May 02 Javascript
jquery库文件略庞大用纯js替换jquery的方法
Aug 12 Javascript
js脚本实现数据去重
Nov 27 Javascript
js中匿名函数的创建与调用方法分析
Dec 19 Javascript
深入理解Angularjs中的$resource服务
Dec 31 Javascript
Express本地测试HTTPS的示例代码
Jun 06 Javascript
Vue实现todolist删除功能
Jun 26 Javascript
vue中进行微博分享的实例讲解
Oct 14 Javascript
vue监听dom大小改变案例
Jul 29 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文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
python中的字典详细介绍
2014/09/18 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
基于python调用psutil模块过程解析
2019/12/20 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
商务考察邀请函范文
2014/01/21 职场文书
音乐专业自荐信
2014/02/07 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
六五普法宣传标语
2014/10/06 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
导游词之南京中山陵
2019/11/27 职场文书
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android