【发布时间】:2021-06-01 03:01:57
【问题描述】:
console.log('test',props.list) 运行良好。
但是props.list.map 不起作用。
这是错误消息。
这是组件的代码 我该如何解决这个错误?
<template>
<div class="row">
<div v-for="column in columnList" :key="column.id" class="col-4 mb-4">
<div class="card-body">
<div class="card h-100 shadow-sm" >
<img :src="column.avatar" :alt="column.title">
<h5>{{column.title}}</h5>
<p>{{column.description}}</p>
<a href="#" class="btn btn-primary">enter</a>
</div>
</div>
</div>
</div>
</template>
<script lang='ts'>
import { computed, defineComponent, PropType } from 'vue'
export interface ColumnProps{
id: number;
title: string;
avatar?: string;
description: string;
}
export default defineComponent({
name: 'ColumnList',
props: {
list: {
type: Array as PropType<ColumnProps[]>,
require: true
}
},
setup (props) {
const columnList = computed(() => {
console.log('test',props.list)
return props.list.map(column => {
if (!column.avatar) {
column.avatar = require('../assets/default_avatar.jpg')
}
return column
})
})
return { columnList }
}
})
</script>
【问题讨论】:
标签: javascript typescript vue.js vue-component vuejs3