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之Ajax运用 学习运用篇
Sep 26 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
Jun 22 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
Jan 03 Javascript
使用JavaScript动态设置样式实现代码(2)
Jan 25 Javascript
JavaScript判断变量是对象还是数组的方法
Aug 28 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
Dec 16 Javascript
如何在AngularJs中调用第三方插件库
May 21 Javascript
使用async-validator编写Form组件的方法
Jan 10 Javascript
微信小程序开发注意指南和优化实践(小结)
Jun 21 Javascript
layui表格设计以及数据初始化详解
Oct 26 Javascript
如何基于JS截获动态代码
Dec 25 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 加密与解密的斗争
2009/04/17 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
PHP实现的超长文本分页显示功能示例
2018/06/04 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
JS实现self的resend
2010/07/22 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
高中地理教学反思
2014/01/29 职场文书
乡下人家教学反思
2014/02/01 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
幼儿园课题方案
2014/06/09 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
挂职学习心得体会
2014/09/09 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle