符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
这篇文章将为大家详细讲解有关如何在Vue中动态生成el-checkbox,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联公司-成都网站建设公司,专注成都网站设计、网站建设、外贸网站建设、网站营销推广,主机域名,网页空间,网站改版维护有关企业网站制作方案、改版、费用等问题,请联系成都创新互联公司。
定义的 data 的 form 里面是空对象,需要动态生成里面的 key
export default { data() { return { form: {} } }, }
从后端接口得到 checkList,这个就是动态生成的表单数据
v-for 循环 checkList,得到 key,然后直接 v-model=“form.key”
动态生成 form 里面的 key
{{ item2.value }}
问题来了
当页面点击动态生成的 CheckBox 方框,会出现全选的情况,查看 vue 数据,显示如下:
绑定的数据居然是 Boolean 类型,怪不得会出现要么全部勾选,要不全部不选
正常的情况 CheckBox 的绑定数据类型是数组形式
假设我在动态生成的时候,就它置为数组格式:
this.checkList.forEach(item => { let key = item.code this.form[key] = [] })
但发现还是没用,会发现点击任何 CheckBox 都无法勾选
解决
这是 vue 的深入响应式原理,官方说法和解决方法:
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性 (root-level reactive property)
然而它可以使用 Vue.set(object, key, value)
方法将响应属性添加到嵌套的对象上
现在明白了,可以使用 Vue.set
方法解决这个深入式响应原理
this.checkList.forEach(item => { let key = item.code this.$set(this.form, key, []) })
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。
关于如何在Vue中动态生成el-checkbox就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。