返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue动态组件表格的实现代码
  • 945
分享到

Vue动态组件表格的实现代码

Vue动态组件 表格Vue动态组件Vue 表格 2022-11-13 18:11:49 945人浏览 薄情痞子
摘要

目录Vue组件数据源框架结构组件这里我自己封装了几个组件按钮组件图片组件滑动开关tap组件text组件Vue组件 数据源 //这里是html内容 这里通过下面的引入框架结构把数据源传

Vue组件

数据源

//这里是html内容 这里通过下面的引入框架结构把数据源传到框架中 还有匹配项
<Mytable :configList="configList" :configData="configData"></Mytable>

// 引入结构组件
import myCard from "./components/card";

// 注册组件
components: { myCard },
     
 data() {
    return {
        // 这里定义数据列表
      configList: [
          // 这里是数据有源
          {
          text: "111",
          img: "/02.jpg",
          tap: "标签1",
          switch: true,
          button: "按钮1",
        },
      ],
       // 这里定义匹配项
      configData: [
      {
          table: "货币",
          porp: "text",
          name: "MyText",
        },
        {
          table: "图片",
          porp: "img",
          name: "Myimg",
        },
        {
          table: "标签",
          porp: "tap",
          name: "tag",
        },
        {
          table: "滑动开关",
          porp: "switch",
          name: "Btn",
          funName: (row) => {
            this.mySwitch(row);
          },
        },
        {
          table: "按钮",
          porp: "button",
          name: "Mybtn",
          // 如果组件中需要动态绑定事件 在这里设置
          funName: (row) => {
            this.myBtn(row);
          },
        },
      ]
    }
 ]

框架结构组件

<div>
    // 这里接受数据组件传递过来的数据
    <el-table :data="configList">
      <!-- 文字表格区间 -->
        // 这里进行循环渲染数据
      <el-table-column
        align="center"
        v-for="(item, index) in configData"
        :key="index"
        :label="item.table"
      >
        <!-- 组件 -->
         // 动态组件 这里可以进行标签 按钮 图片等 的别的组件进行循环渲染到表格中
        <template slot-scope="scope">
          <component
            :is="item.name"
            :value="scope.row"
            // 把每一项有点击事件进行传参
            @parentFun="fun(item.funName, scope.row)"
          ></component>
        </template>
      </el-table-column>
    </el-table>
  </div>

// 这里引用自己封装的动态组件
import Myimg from "@/components/toConfigure/img.vue";
import tag from "@/components/toConfigure/tag.vue";
import Btn from "@/components/toConfigure/switch.vue";
import MyText from "@/components/toConfigure/text.vue";
import Mybtn from "@/components/toConfigure/button.vue";

// 进行注册组件
components: {
    Myimg,
    tag,
    Btn,
    MyText,
    Mybtn,
  },
// 这里进行判断每个按钮时候有点击事件 没有为空  
methods: {
    fun(funName, row) {
      if (funName) {
        funName(row);
      }
    },
  },

// 这里接受传过来的数据
 props: {
    configData: {
      type: Array,
    },
    configList: {
      type: Array,
    },
  },

这里我自己封装了几个组件

按钮组件

<template>
    // 这里是按钮
  <el-button round @click="btn">{{ value.button }}</el-button>
</template>

<script>
export default {
// 接受组件传过来的值
  props: {
    value: {
      type: Object,
    },
  },
 // 这里进行绑定动态点击事件
  methods: {
    btn() {
       // 这里接受传参
      this.$emit("parentFun");
    },
  },
};
</script>

<style></style>

图片组件

<template>
  <div>
    <el-image
      style="width: 100px; height: 100px"
      :src="Myimg"
       // 使用时候把这条注释删除 这个属性是点击图片放大 不需要可以删除
      :preview-src-list="[Myimg]"
    ></el-image>
  </div>
</template>

<script>
export default {
  props: {
    value: {
      type: Object,
    },
  },
  computed: {
    Myimg() {
      if (this.value.img.length > 0) {
          // "@/assets/images" 这个是图片的根路径 加上 传递过来的数据中图片的名字
        return require("@/assets/images" + this.value.img);
      } else {
        return;
      }
    },
  },
};
</script>

<style></style>

滑动开关

<template>
  <div>
    <el-switch
      v-if="this.value.switch !== undefined"
      v-model="value.switch"
      active-color="#13ce66"
      inactive-color="#ff4949"
      @change="switchClick"
    ></el-switch>
  </div>
</template>

<script>
export default {
  props: {
    value: {
      type: Object,
    },
  },
  methods: {
    switchClick() {
      // 事件分发
      this.$emit("parentFun", this.value);
    },
  },
  mounted() {
    // console.log(this.value.button);
  },
};
</script>

<style></style>

tap组件

<template>
  <div>
    <el-tag v-if="value.tap.length > 0">{{ value.tap }}</el-tag>
  </div>
</template>

<script>
export default {
  props: {
    value: {
      type: Object,
    },
  },
};
</script>

<style></style>

text组件

<template>
  <div>
    {{ value.text }}
  </div>
</template>

<script>
export default {
  props: {
    value: {
      type: Object,
    },
  },
};
</script>

<style></style>

到此这篇关于Vue动态组件 表格的文章就介绍到这了,更多相关Vue动态组件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue动态组件表格的实现代码

本文链接: https://lsjlt.com/news/169463.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue动态组件表格的实现代码
    目录Vue组件数据源框架结构组件这里我自己封装了几个组件按钮组件图片组件滑动开关tap组件text组件Vue组件 数据源 //这里是HTML内容 这里通过下面的引入框架结构把数据源传...
    99+
    2022-11-13
    Vue动态组件 表格 Vue动态组件 Vue 表格
  • Element实现动态表格的示例代码
    目录【代码背景】【代码实现】#1# -> 代码复用的基础是你需要一个可复用的组件#2# -> 在展示页面使用动态表格组件#3# -> 如何给动态表格根据需求动态添加...
    99+
    2024-04-02
  • vue实现动态表单动态渲染组件的方式(1)
    vue 实现动态表单/动态渲染组件的方式(一),供大家参考,具体内容如下 思路 先写好各个可能会出现的表单或者自定义的组件,引入。此时后端可能会给到一个对象型数组,每个对象有要渲染组...
    99+
    2024-04-02
  • vue实现动态表单动态渲染组件的方式(2)
    本文实例为大家分享了vue实现动态表单动态渲染组件的方式,供大家参考,具体内容如下 思路 先把所有可能出现的表单/组件写在主页面每个表单/组件的slot 属性值要与后端返回的表单/组...
    99+
    2024-04-02
  • Vue实现下拉表格组件
    本文实例为大家分享了Vue实现下拉表格组件的具体代码,供大家参考,具体内容如下 <template>   <div>     <div class="s...
    99+
    2024-04-02
  • vue如何用DataTable插件实现表格动态刷新
    今天小编给大家分享一下vue如何用DataTable插件实现表格动态刷新的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我这边...
    99+
    2023-07-04
  • Android动态表格的实现代码(内容、样式可扩缩)
    1.实现动态表格效果如下: 2.项目如下: **3.activity_smart_table.xml,表格布局代码如下:** <com.bin.david.form....
    99+
    2024-04-02
  • vue element-ui动态横向统计表格的实现
    目录element-ui动态横向统计表格关于element-ui表格问题表格图片显示问题表格中多出一条线element-ui动态横向统计表格 表格结构 <el-table ...
    99+
    2022-11-13
    vue element-ui 动态横向统计表格 vue element-ui 动态表格
  • vue backtop组件的实现完整代码
    效果: 代码: <template> <div class="back-top"> <div > <img src="im...
    99+
    2024-04-02
  • vue+element实现动态换肤的示例代码
    有时候一个项目的主题并不能满足所有人的审美,这时候换肤功能就很友好,本项目基于vue+element实现后台管理项目的换肤功能 1.创建换肤组件 <template>...
    99+
    2024-04-02
  • vue实现动态控制表格列的显示隐藏
    本文实例为大家分享了vue实现动态控制表格列显示隐藏的具体代码,供大家参考,具体内容如下 一、效果 如上图所示,点击table右上方的表格按钮,弹出菜单栏,进行勾选,从而达到表格对...
    99+
    2024-04-02
  • Vue动态生成表格的行和列如何实现
    本篇内容主要讲解“Vue动态生成表格的行和列如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue动态生成表格的行和列如何实现”吧!具体的实现代码如下:<template>&n...
    99+
    2023-07-04
  • Vue中怎么实现动态表格的排序功能
    这篇文章主要介绍“Vue中怎么实现动态表格的排序功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue中怎么实现动态表格的排序功能”文章能帮助大家解决问题。首先,为了实现动态表格的排序,我们需要一...
    99+
    2023-07-06
  • Vue使用extend动态创建组件的实现
    目录什么是extend方法?如何使用extend方法?动态创建组件总结Vue.js是一个流行的JavaScript框架,它提供了许多功能来帮助我们构建交互式Web应用程序。其中之一是...
    99+
    2023-05-16
    Vue extend动态创建组件 Vue extend动态组件
  • Vue中的动态组件怎么实现渲染
    本篇内容介绍了“Vue中的动态组件怎么实现渲染”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、什么是动态组件动态组件指的是动态切换组件的显...
    99+
    2023-06-30
  • vue实现自定义"模态弹窗"组件实例代码
    目录前言效果图实例代码总结前言 对话框是很常用的组件 , 在很多地方都会用到,一般我们可以使用自带的alert来弹出对话框,但是假如是设计出的图该怎么办呢 ,所以我们需要自己写一个对...
    99+
    2024-04-02
  • Vue实现动态控制表格列的显示和隐藏
    本文实例为大家分享了Vue实现动态控制表格列的显示和隐藏的具体代码,供大家参考,具体内容如下 效果如图: 表头标题是重复的、为了能看到滚动效果 v-if=“lists[...
    99+
    2024-04-02
  • JavaScript实现动态表格效果
    本文实例为大家分享了JavaScript实现动态表格效果的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html lang="...
    99+
    2024-04-02
  • JavaScript实现表格动态变色
    本文实例为大家分享了JavaScript实现表格动态变色的具体代码,供大家参考,具体内容如下 表格分为:表头、表格主体 两部分 当移动到表格主体的行时,移动到哪一行,哪一行就变化颜色...
    99+
    2024-04-02
  • Element怎么实现动态表格
    本篇内容介绍了“Element怎么实现动态表格”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录【代码背景】【代码实现】#1# -> ...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作