我在滚动视图中有一个用户详细信息列表,每个列表都有一个按钮。它看起来如下:
-
用户1
-
用户2
-
用户3
列表使用v-for进行渲染。在每个div中按下按钮时,我想提取一些信息,例如用户编号。我该如何处理这个问题?
这里有一个Vuejs3的例子,但您应该了解更多:
<template>
<ul>
<li v-for="user in users"
:key="user.id"
@click="showDetail(user)"
>
{{ user.id }} - {{ user.name }}
</li>
</ul>
<div v-if="clickedUser">
<h6>Detail</h6>
<span>{{ clickedUser.id }}</span>
<span>{{ clickedUser.name }}</span>
</div>
<script>
import {ref} from "vue";
export default {
setup() {
const users = [
{id: 1, name: "A"},
{id: 2, name: "B"},
{id: 3, name: "C"},
{id: 4, name: "D"},
];
let clickedUser = ref(null);
const showDetail = (user) => {
clickedUser.value = user;
};
return {users, clickedUser, showDetail};
},
};
使用vue-native,您可以简单地通过这样做
<view v-for="user in users" :key="user.id">
<button :on-press="()=> getDetail(user.number)" />
</view>
然后在你的脚本
<scripts>
...
methods: {
getDetail(id){
this.number = id // assuming you already have this.number set in your data object
console.log(id)
}
}
<scripts />