我有一个带有 v-for
的客户组件,如下所示:
<my-component
v-for="(item,index) in filteredList"
:key="item.Rd"
:item="item"
>
在我的组件内
<template>
<div
@click="findSomething($event)"
>
...HTML
</div>
</template>
我尝试了很多方法将关键 Prop 传递到 my-comonent
但所有这些都不起作用
如果我设计的 props:['key']
出现错误
“key”是一个保留属性,不能用作组件 Prop 。
那么我仍然无法获取key
我依赖需要键的值来识别我在事件中触发的项目
最佳答案
您收到的错误是不言自明的。您不能在 props 中将其指定为 key
,因为它是 Vue 保留的。
有两种方法可以解决此问题,此答案中详细介绍了这两种方法:Vue. How to get a value of a "key" attribute in created element
第一种方法是简单地重命名您传入的 prop,上面帖子中的用户使用 pkey
而不是 key
第二个解决方案是在组件内部使用 this.$vnode.key
来访问您正在使用的 key 。
关于javascript - 如何在组件的事件中获取 v-for key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58839174/