vue+element-ui,Collapse 折叠面板组件,怎么实现下图中的每个下拉所展示的内容都不一样,如何动态获取的这些数据
这些数据的表现形式也不一样,有的是表格table,有的是没有表头的
【以下回答由 GPT 生成】
在vue+element-ui的Collapse折叠面板组件中,要实现每个下拉展示的内容都不一样,可以通过动态绑定数据和利用vue的条件渲染来实现。以下是一个示例代码:
<template>
<el-collapse v-model="activeNames">
<el-collapse-item v-for="item in items" :key="item.id" :title="item.title">
<el-table v-if="item.type === 'table'" :data="item.data">
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="age" label="Age"></el-table-column>
<el-table-column prop="gender" label="Gender"></el-table-column>
</el-table>
<div v-else>{{ item.content }}</div>
</el-collapse-item>
</el-collapse>
</template>
<script>
export default {
data() {
return {
activeNames: [],
items: [
{
id: 1,
title: 'Collapse Item 1',
type: 'table',
data: [
{ name: 'John', age: 20, gender: 'Male' },
{ name: 'Emma', age: 25, gender: 'Female' },
{ name: 'Tom', age: 22, gender: 'Male' },
]
},
{
id: 2,
title: 'Collapse Item 2',
type: 'text',
content: 'This is a text content.'
}
]
};
}
};
</script>
在上述示例代码中,我们定义了一个items
数组用于存储每个折叠面板的数据。每个数据都包含了id
、title
、type
和相应的内容数据。type
值可以指示显示内容的类型,比如table
表示表格,text
表示文本。
在模板中,我们使用v-for
指令遍历items
数组,动态生成对应的折叠面板。根据type
的值,使用条件渲染来判断展示表格还是文本内容。
通过这种方式,我们就可以实现每个下拉展示的内容都不一样,并且这些内容都是动态获取的。
备注:以上代码是基于Vue 2.x和Element-ui 2.x版本的。
【相关推荐】