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 相关文章推荐
用于自动添加Digg This!按钮的JavaScript
Dec 23 Javascript
Jquery练习之表单验证实现代码
Dec 14 Javascript
jQuery插件Tmpl的简单使用方法
Apr 27 Javascript
JS组件Bootstrap实现弹出框效果代码
Apr 26 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
常用的js验证和数据处理总结
Aug 02 Javascript
JavaScript每天必学之事件
Sep 18 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
Apr 28 Javascript
jQuery实现菜单栏导航效果
Aug 15 jQuery
Vue自定义指令实现checkbox全选功能的方法
Feb 28 Javascript
layer.open关闭父窗口 以及调用父页面的方法
Aug 17 Javascript
three.js中多线程的使用及性能测试详解
Jan 07 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获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
php验证码实现代码(3种)
2015/09/07 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
Node.js 8 中的重要新特性
2017/06/28 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
js实现一个简易计算器
2020/03/30 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
2019/09/06 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
利用Python演示数型数据结构的教程
2015/04/03 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
空指针到底是什么
2012/08/07 面试题
体育活动总结范文
2014/05/04 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
webpack的移动端适配方案小结
2021/07/25 Javascript
Python集合set()使用的方法详解
2022/03/18 Python