鸿宇研学生前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

60 lines
1023 B

<template>
<view :style="style">
<view class="card" v-for="item in list" :key="item.id">
<memberCard
:data="item"
@selectChange="onSelectChange(item.id, $event)"
></memberCard>
</view>
</view>
</template>
<script>
import memberCard from './memberCard.vue'
export default {
components: {
memberCard,
},
props: {
members: {
type: Array,
default() {
return []
},
},
style: {
type: String,
default: ''
},
},
computed: {
list: {
set(val) {
this.$emit('update:list', val)
},
get() {
return this.members
}
},
},
methods: {
onSelectChange(id, val) {
let list = [...this.list]
const target = list.find(item => item.id === id)
target.isSelected = val
this.list = list
},
},
}
</script>
<style scoped lang="scss">
.card {
margin-top: 16rpx;
}
</style>