今天接触了一个功能,就是在一个列表中,当你新增或者对第N列进行编辑,删除等操作时这一列会变颜色。让用户对操作了哪行数据更认识更清晰,刷新之后这行的颜色就会消失。我觉得这个很有意思,记录一下。效果如下。

其实它的原理是前端从后台获取这个列表的数据。然后在前端对要需要变色的列表list加上一个判断是否调用变色样式的boolean属性,然后html页利用[ngClass]方法改变该列引用的CSS样式,使其颜色改变,语法如下。

当中涉及的细节还是挺多的。重点在于,它判断是否调用样式的属性,例如上图中的isDis和isAdd是在前端附加在数组上的。而添加、删除后的数据也并非是从后台获取,而是直接在前端操作数组。只有刷新后才真正从后端获取数据,此时后端数据里没有样式属性isDis和isAdd。则颜色恢复。其中对数据的操作可以记录一下。
一、增加
在增加时用了这么一个方法

this.joblists.unshift(returnItem)
unshift是将一组数returnItem加入到数列joblists的第一项。
二、删除
(click)="deleteData(joblist, i)"
在点击事件中将i(此数列的索引,可看上图里的 let i = index,刚刚才发现!)传入函数deleteData中,执行以下删除代码
this.joblists.splice(index, 1)
三、编辑
===================================分割线======================================
       今天上班又看了这个问题。第一张图里的let i = index 获得的应该是数组的下标,从0开始。由于列表第二页重新请求,下标也是从0开始。它的功能与第二种图中indexOf求得的相同。而且它并不存在我之前遇到的删除混乱问题。测试是没问题的。下标改变后,原先加入数列不变。我把编辑改成直接用下标赋值。这样不需要遍历joblist对比ID。减少负担

angular-列表进行添加、编辑等操作时此行变色。的更多相关文章

  1. 添加浏览器back操作时的响应事件

    https://blog.csdn.net/xcqingfeng/article/details/70800118 $(function(){ pushHistory(); window.addEve ...

  2. 关于SubSonic3.0插件使用Json反序列化获得的实体进行更新操作时,只能执行添加而不能执行修改(编辑)操作的处理

    由于目前开发的项目使用云计算技术,客户端只进行UI与相关事件的功能开发,而所有的计算与处理都放到了服务器端,客户端与数据库没有任何关联,所以服务器端与客户端使用我们自己开发的通讯加密方式进行,而具体的 ...

  3. Make a List View Editable 使列表视图可编辑

    In this lesson, you will learn how to make a List View editable. For this purpose, the DemoTask List ...

  4. 高级复制实验配置添加复制节点操作时报错:ORA-23308: object GP.T does not exist or is invalid

    出错原因: 使用高级复制时,在源端启动复制支持,执行语句:REPADMIN@bys1>execute dbms_repcat.generate_replication_support('gp', ...

  5. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  6. Html简单demo_html列表中进行编辑操作

    html列表中进行编辑操作 <div class="_sort_box" style="float: left;"><?php echo $v ...

  7. 安装Ruby、Sass在WebStrom添加Watcher实现编辑scss文件时自动生成.map和压缩后的.css文件

    前言 这段时间一直在看Bootstrap,V3官方直接提供了Less版本的源码,就先将Less学完了,很简单的语法,学习写Demo都是在Webstorm里写的,配置了Watcher自动编译(详见< ...

  8. 【SpringMVC】添加操作时返回400

    本博客老魏原创,如需转载请留言 问题描述: springmvc向数据库添加新的记录时,发生400错误,控制台没有抛出异常. 问题原因: 视图中的提交数据的某一个字段不不匹配导致. 解决方法: 不要怀疑 ...

  9. Swift - 给表格添加编辑功能(删除,插入)

    1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第二个分组处于插入状态 (3)点击删除图标,删 ...

随机推荐

  1. java中io创建文件和读取文件

    简单了解IO流:https://www.cnblogs.com/weibanggang/p/10034325.html package com.wbg.iodemo1128; import java. ...

  2. Jmeter--thrift接口压测

    1. 安装thrift 2. 新建maven工程,代码结构如下 3. pom设置,按配置存放thrift文件和打包描述文件(具体代码见附件,根据需要改变配置信息) 4. thrift需要手动添加nam ...

  3. STM32F103 ucLinux开发之二(内核启动汇编代码分析)

    start_kernel之前的汇编代码分析 Boot中执行下面两句话之后,进入uclinux内核. theKernel = (void (*)(int, int, unsigned int))((ui ...

  4. C# 5.0中使用CallerMemberName、CallerFilePath和CallerLineNumber获取代码的调用方信息(转载)

    很多时候,我们需要在运行过程中记录一些调测的日志信息,如下所示: public void DoProcessing() { TraceMessage("DoProcessing()被XXX调 ...

  5. js和jquery对象的相互转换

    在使用jquery的过程中发现很多需要将jquery对象转成js对象的例子. Query 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuery 独有的,其可以使用 ...

  6. jquery实现顶部浮动效果

    示例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <tit ...

  7. 09 OCP知识点讲解 之 LRU链与脏LRU链

    OCP知识点讲解 之 LRU链与脏LRU链 分类: Oracle 2012-06-30 10:49:26   一.LRU链: 任何缓存的大小都是有限制的,并且总不如被缓存的数据多.就像Buffer c ...

  8. eclipse安装tomcat时只有locahost,不显示server name

    Eclipseh中无法安装Tomcat,报错信息如下 Cannot create a server using the selected type   原因:以前安装的tomcat目录改变 解决方法: ...

  9. awk命令用法

    awk:把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理,是一个强大的文本分析工具,在对数据分析并生成报告时很有优势. awk有3个不同版本: awk.nawk和gawk, ...

  10. CentOS6.5 虚拟机 磁盘扩容

    1. 关闭虚拟机 2. 编辑虚拟机设置:增加硬盘的置备大小,或者添加新的硬盘 3. 启动虚拟机,查看可用磁盘大小 : # df -Th Filesystem Type Size Used Avail ...