|
|
- <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>
|