坚果大叔 坚果大叔
  • 首页
  • 闲言碎语
  • 技术
  • 生活
  • 记录
  • 朋友
  • 热点新闻
  • 常用代码
  • 工具箱
  • 关于
首页 › 技术 › 前端每日两三问(20190923)

前端每日两三问(20190923)

坚果大叔
2019-09-23 17:05:16技术阅读 1,644

1、js如何获取数组的key

function getObjectKeys(object){
    var keys = [];
    for (var property in object)
    return property;
}

console.log(getObjectKeys(3332:[]))     // 3332

2、如何过滤数组中的空数据

Array.prototype.notempty = function() {
  var arr = [];
  this.map(function(val, index) {
    if (val !== "" && val != undefined) {
      arr.push(val);
    }
  });
  return arr;
}
this.selectHouse = this.selectHouse.notempty()

3、iview checkboxGroup 动态删除某个值后,页面checkBox 选中状态错乱。

具体情况如下:

需求 :

checkboxGroup v-for生成三个checkbox,默认勾选。当我点击某个checkbox默认取消勾选并且删除该checkbox。

操作方法一:

从最后一个开始删,也就是删除默认绑定的model数组中的最后一个值,这时候剩余checkbox的选中状态是正常的。

操作方法二:

但是如果从中间开始删,比如删除第二,那么第二个checkbox会被删除,但是第三个checkbox的选中状态样式没有了,model数据还是在的。

解决方法一:

我们在删除 model数据后,更新数据的时候用this.$nextTick进行数据更新

解决办法二:

v-for 的时候key的取值不取 index 而取实际的value值

延伸:

v-for在更新已渲染的元素列表的时候,采用 就地复用 策略,如果列表的数据发生变化,那么它会根据key值取判断值是否修改,如果修改则重新渲染这一项,否则则复用之前的数据。但是如果我们用 index 下标来作为 key,那么在上面的例子中,我们删除了第二个数据,数据由三条变成了两条,列表重新渲染,而原本第三个checkbox的key是2,由于model 数据长度由3变成了2。第三个checkbox的key由 2 变成了1 导致重新赋值渲染。所以就导致实际值存在,但选中状态缺消失了的问题。

日常问题
赞赏 赞(0)
本文系作者 @坚果大叔 原创发布在 坚果大叔。未经许可,禁止转载。
前端两三问(20190917)
上一篇
重学JavaScript之面向对象的程序设计(继承)
下一篇
在小程序中查看
搜你想看的
聚合文章
猫?
清明小假期!
链式取值(转载整理)
Input 空格问题
闲言碎语
Memos
npm install 出现 Error:EISDIR:illegal operation on a directory 的错误提示!
2025-03-31 19:02:11
559 0 0
iphone 利用 Scriptable 添加网上国网电费小组件
2025-01-06 20:40:20
5,006 6 2
在博客中加上memos记录展示。
2024-12-25 23:41:27
2,335 5 2
网页点击平滑滚动效果~
2024-10-17 16:43:08
2,037 4
  • 0
博主

一位佛系的前端开发者,略通摄影,乐于尝试新事物,热衷于美食。

友链
故事胶片
公众号
坚果大叔 执行上下文 卖坚果的怪叔叔 Dacking
Copyright © 2017-2025 坚果大叔

开往-友链接力

萌ICP备20230818号

苏ICP备18048410号-3
  • 首页
  • 闲言碎语
  • 技术
  • 生活
  • 记录
  • 朋友
  • 热点新闻
  • 常用代码
  • 工具箱
  • 关于
# CSS # # JavaScript # # vue # # 微信 # # 生活 #
坚果大叔
317
文章
125
评论
365
喜欢