前端每日两三问(20190923)

简介: 前端每日两三问(20190923)

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 导致重新赋值渲染。所以就导致实际值存在,但选中状态缺消失了的问题。

相关文章
|
前端开发 JavaScript
|
前端开发 JavaScript iOS开发
前端两三问(201901018)
前端两三问(201901018)
|
前端开发 JavaScript
前端两三问(20190917)
前端两三问(20190917)
|
前端开发 JavaScript
前端两三问(20190915)
前端两三问(20190915)
|
JavaScript 前端开发
|
9月前
|
Web App开发 前端开发 JavaScript
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
98 0
|
9月前
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图单线程配置
前端学习笔记202305学习笔记第二十三天-地图单线程配置
68 0
前端学习笔记202305学习笔记第二十三天-地图单线程配置
|
9月前
|
前端开发 API
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-react-redux的工作流程
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-react-redux的工作流程
55 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第五十一天-工厂模式4
前端学习笔记202306学习笔记第五十一天-工厂模式
34 0
|
5月前
|
前端开发 JavaScript
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
42 1