vue+element-ui,Collapse 折叠面板组件,怎么实现下图中的每个下拉所展示的内容都不一样,如何动态获取的这些数据

vue+element-ui,Collapse 折叠面板组件,怎么实现下图中的每个下拉所展示的内容都不一样,如何动态获取的这些数据

这些数据的表现形式也不一样,有的是表格table,有的是没有表头的

img

【以下回答由 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数组用于存储每个折叠面板的数据。每个数据都包含了idtitletype和相应的内容数据。type值可以指示显示内容的类型,比如table表示表格,text表示文本。

在模板中,我们使用v-for指令遍历items数组,动态生成对应的折叠面板。根据type的值,使用条件渲染来判断展示表格还是文本内容。

通过这种方式,我们就可以实现每个下拉展示的内容都不一样,并且这些内容都是动态获取的。

备注:以上代码是基于Vue 2.x和Element-ui 2.x版本的。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

img