关于iview中[Vue warn]: Avoid using non-primitive value as key, use string/number value instead.影响性能的问题
2017-10-17 15:34
1506 查看
刚开始使用某种框架或者技术都是自己挖坑自己跳,坑挖的不亦乐乎,跳进去的时候毫不知情,等到真的发现要出坑,才会哭笑不得。。。。
比如这个看是很小的问题,当初赶项目不求甚解,,,以为只是个简单的warn,不会影响啥;到头来才发现这么个小小的warn居然让用户体验达到了令人发指的程度。。。。
哎,记住这次教训,页面上尽量达到一个错误提示都不要报才是对自己好~
好了,讲讲问题:
代码是这样的,一个下拉框,选中下拉框中的数据,页面其他位置的数据发生相应变化(需求相当简单
)
<Select
v-if="showTemplateSelection=='-1'" @on-change="getTemplateData"
v-model="templateid"
style="width:200px;">
<Option
v-for="item
in cardTypeVoList" :value="item.cardTypeId" :key="item">{{
item.cardTypeName }}</Option>
</Select>
问题出在使用v-for循环的时候,后面写的
:key="item"上,这里的item明显是个对象,而不是string/number数据类型,导致报了一连串的vue
warn,从而导致影响了后续的数据渲染性能。。。。
正确写法应该是:
:key="item.cardTypeName"
:key相当于是索引的作用,提高循环性能,如果循环量较小,不写也可以的。
好了,分享到此结束。。。所谓细节决定成败,看来还是不细心啊~哈哈
比如这个看是很小的问题,当初赶项目不求甚解,,,以为只是个简单的warn,不会影响啥;到头来才发现这么个小小的warn居然让用户体验达到了令人发指的程度。。。。
哎,记住这次教训,页面上尽量达到一个错误提示都不要报才是对自己好~
好了,讲讲问题:
代码是这样的,一个下拉框,选中下拉框中的数据,页面其他位置的数据发生相应变化(需求相当简单
)
<Select
v-if="showTemplateSelection=='-1'" @on-change="getTemplateData"
v-model="templateid"
style="width:200px;">
<Option
v-for="item
in cardTypeVoList" :value="item.cardTypeId" :key="item">{{
item.cardTypeName }}</Option>
</Select>
问题出在使用v-for循环的时候,后面写的
:key="item"上,这里的item明显是个对象,而不是string/number数据类型,导致报了一连串的vue
warn,从而导致影响了后续的数据渲染性能。。。。
正确写法应该是:
:key="item.cardTypeName"
:key相当于是索引的作用,提高循环性能,如果循环量较小,不写也可以的。
好了,分享到此结束。。。所谓细节决定成败,看来还是不细心啊~哈哈
相关文章推荐
- 解决element-ui upload组件报错 Avoid using non-primitive value as key, use string/number value instead
- 解决Package illuminate/html is abandoned, you should avoid using it. Use laravelcollective/html instead.问题
- Avoid using "px" as units; use "dp" instead
- Avoid using "px" as units; use "dp" instead
- Avoid using "px" as units; use "dp" instead
- android关于HashMap<String, Integer>取最大的value,并找出key。
- php下关于Cannot use a scalar value as an array的解决办法
- [Vue warn]: Do not use built-in or reserved HTML elements as component id:
- Why I can't use non-string key in the myMap[myKey] expression? And what to do now?
- Spring整合Ehcache3启动报错”Cache [xxx] specifies key/value types. Use getCache(String, Class, Class)”
- 关于 Android “finished with non-zero exit value ”引发的问题
- 关于Ubuntu mysql设置字符集为utf8还继续提示Incorrect string value问题 - 新手村
- 关于Servlet中getServletContext() 的getResourceAsStream(String path) 方法中的path路径问题
- [Vue warn]: Avoid mutating a prop directly since the value will be overwritt
- 关于Spring Data Redis存储时key value数据的乱码问题
- 关于SQLException:Value'0000-00-00 00:00:00'can not be represented as java.sql.Timestamp的问题
- 关于http客户端常见错误"警告:Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is rec"
- 关于影响数据库性能的数据库锁的问题
- php下关于Cannot use a scalar value as an array的解决办法
- 关于,在Mysql中,外键是否会影响性能的问题???