展示多个列表

<template>
  <div name="tapanle">
    <div class="container">
      <div v-for="(item,index) in data" :key="index">
        <div class="title">
          <div>{{item.title}}</div>
          <div>
            <div class="show-info" v-show="item.showInfo" @click="show(item.showInfo,index)">点击隐藏</div>
            <div class="show-info" v-show="!item.showInfo" @click="show(item.showInfo,index)">点击显示</div>
          </div>
        </div>
        <el-collapse-transition>
        <!--el-collapse-transition  要先引入CollapseTransition 组件,不然会报错-->
          <div class="data-info" v-show="item.showInfo">
            <div>{{item.info}}</div>
            <div>{{item.content}}</div>
          </div>
        </el-collapse-transition>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      data: [
        {
          title: "测试一",
          info: "轮到我出场了",
          content: "测试展示的数据"
        },
        {
          title: "测试二",
          info: "轮到我出场了",
          content: "测试展示的数据"
        },
        {
          title: "测试三",
          info: "轮到我出场了",
          content: "测试展示的数据"
        },
        {
          title: "测试四",
          info: "轮到我出场了",
          content: "测试展示的数据"
        },
        {
          title: "测试五",
          info: "轮到我出场了",
          content: "测试展示的数据"
        },
        {
          title: "测试六",
          info: "轮到我出场了",
          content: "测试展示的数据"
        }
      ]
    };
  },
  mounted() {
    this.init();
  },
  methods: {
    init() {
      this.data.map(item => {
        return (item.showInfo = false);
      });
      this.data[0].showInfo = true;
      this.data.splice(0, 1, this.data[0]);
    },
    show(show, index) {
      this.data[index].showInfo = !show;
      this.data.splice(index, 1, this.data[index]);
    }
  }
};
</script>
<style lang="scss" scoped>
.container {
  width: 300px;
  border: 1px solid #ccc;
  .title {
    height: 40px;
    line-height: 40px;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    padding: 0 15px;
    border-bottom: 1px solid #ccc;
  }
  .show-info {
    cursor: pointer;
  }
  .data-info {
    font-size: 12px;
    text-align: left;
    padding-left: 15px;
    border-bottom: 1px solid #ccc;
    div {
      height: 30px;
      line-height: 30px;
    }
  }
}
</style>

效果在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 layui 的表格组件实现列表多字段选择展示的功能,具体实现步骤如下: 1. 在 HTML 页面中定义一个表格元素,引入 layui 的表格组件,并设置表格的列信息: ```html <table id="demo" lay-filter="test"></table> <script src="https://cdn.bootcdn.net/ajax/libs/layui/2.5.6/layui.js"></script> <script> layui.use('table', function(){ var table = layui.table; table.render({ elem: '#demo', url: '数据接口地址', cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'}, {field: 'gender', title: '性别'} ]] }); }); </script> ``` 2. 在 JavaScript 中设置表格的操作列,用于展示多字段选择的功能: ```javascript table.render({ elem: '#demo', url: '数据接口地址', cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'}, {field: 'gender', title: '性别'}, {title: '操作', toolbar: '#barDemo'} ]] }); ``` 3. 在 HTML 页面中定义一个模板元素,用于设置操作列的内容: ```html <script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-xs" lay-event="select">选择</a> {{# if(d.age >= 18){ }} <a class="layui-btn layui-btn-xs" lay-event="drink">喝酒</a> {{# } }} </script> ``` 4. 在 JavaScript 中设置操作列的事件处理程序,用于实现多字段选择的功能: ```javascript table.on('tool(test)', function(obj){ var data = obj.data; if(obj.event === 'select'){ console.log(data.name + ' ' + data.age + '岁 ' + data.gender); } else if(obj.event === 'drink'){ console.log(data.name + '可以喝酒了'); } }); ``` 这样,当用户点击操作列中的“选择”按钮时,控制台就会输出该行数据的姓名、年龄和性别。您可以根据需要修改操作列的模板和事件处理程序,实现自己的多字段选择展示功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值