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 相关文章推荐
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
Js实现手机发送验证码时按钮延迟操作
Jun 20 Javascript
JQUERY简单按钮轮换选中效果实现方法
May 07 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
jQuery+json实现的简易Ajax调用实例
Dec 14 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
AngularJS入门教程之控制器详解
Jul 27 Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 Javascript
vue一步步实现alert功能
Jul 05 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
Sep 15 Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 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
PHPEXCEL 使用小记
2013/01/06 PHP
smarty中post用法实例
2014/11/28 PHP
JavaScript延迟加载
2021/03/09 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
jsPDF生成pdf后在网页展示实例
2014/01/16 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
JavaScript实现区块链
2018/03/14 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python复制文件操作实例详解
2015/11/10 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
Tensorflow 多线程设置方式
2020/02/06 Python
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
专科应届生求职信
2013/11/24 职场文书
新员工入职感想
2015/08/07 职场文书
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis