【发布时间】:2019-10-25 06:08:12
【问题描述】:
我对 VueJS 还比较陌生,我遇到了一个用 jQuery 很容易解决的问题,但即使我确定有 VueJS,我也找不到。
我有一个用户选择的路径列表,对于每个路径,我在该 div 中创建一个带有 3 个复选框的 div:添加、编辑和删除。
假设我有 2 个路径:'/foo' and '/bar',对于这 2 个路径,我创建了 3 个复选框:为每个路径添加、编辑和删除。如果用户检查添加、编辑和第一个路径,并且只检查第二个路径上的删除,那么我想以编程方式构建以下对象:
[
{path: '/foo', actions: ["add","edit"]},
{path: '/bar' , actions: ["delete"]}
]
当用户按下最终提交按钮时,会在最后调用创建此对象的函数,以下是一些相关代码:
在组件模板中:
<li v-for = "selectedPath in newProfile.paths">
<Card :card-name="selectedPath">
<h5>{{selectedPath}}</h5>
<base-checkbox :data-path="selectedPath" type = "default" name = "add">Ajout</base-checkbox>
<base-checkbox :data-path="selectedPath" name = "edit">Edition</base-checkbox>
<base-checkbox :data-path="selectedPath" name = "delete">Supression</base-checkbox>
</Card>
</li>
JS 代码包含用于选择复选框的 vanilla JS,但问题是我正在使用我正在使用的模板附带的组件复选框,因此除非您获得每个复选框组件内的内容,否则无法获取选中的属性这很快就会变得丑陋和非 vuejs 的方式来做到这一点。
那么我怎样才能实现这一点(基于每个 div 中的复选框构建该对象)?
【问题讨论】:
标签: javascript vue.js