vue3中element-puls表格的封装和复用

父组件使用v-bind="data2" 向子组件传的数据

生命一个变量,变量为对象,将需要的内容传给子组件

// 定义data2

const data1={

// 数据的内容

tableData : [

{

date: '2016-05-03',

name: 'Tom',

address: 'No. 189, Grove St, Los Angeles',

},

{

date: '2016-05-02',

name: 'Tom',

address: 'No. 189, Grove St, Los Angeles',

},

{

date: '2016-05-04',

name: 'Tom',

address: 'No. 189, Grove St, Los Angeles',

},

{

date: '2016-05-01',

name: 'Tom',

address: 'No. 189, Grove St, Los Angeles',

},

]

}

子组件通过

// defineProps 获取父组件传过来的参数

import { defineProps } from 'vue';

// 获取到父组件传过来的tableData

const props=defineProps({tableData: {type: Array, default: \[\]}})

comont.vue(封装的表格)

复制代码
<template>
<el-table :data="tableData" style="width: 100%">
    <el-table-column prop="date" label="Date" width="180" />
    <el-table-column prop="name" label="Name" width="180" />
    <el-table-column prop="address" label="Address" />
  </el-table>
</template>
<script lang='ts' setup>
// defineProps 获取父组件传过来的参数
import { defineProps } from 'vue';

// 获取到父组件传过来的tableData
const props=defineProps({tableData: {type: Array, default: []}})


</script>
<style lang='scss' scoped>

</style>

about.vue(使用封装的第一个页面)

复制代码
<template>
     <!-- v-bind="data2" 向子组件传的数据 -->
    <comont v-bind="data1"></comont>
    

</template>
<script lang='ts' setup>
import comont from './comont.vue';
// 定义data2
const data1={
    // 数据的内容
    tableData : [
  {
    date: '2016-05-03',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-02',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-04',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-01',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
]

}
</script>
<style lang='scss' scoped>

</style>

home.vue(使用封装的第二个页面)

复制代码
<template>
    <!-- v-bind="data2" 向子组件传的数据 -->
    <comont v-bind="data2"></comont>


   
</template>
<script lang='ts' setup>
import comont from './comont.vue';

// 定义data2
const data2={
    // 数据的内容
    tableData : [
  {
    date: '2016',
    name: '小狗',
    address: '小狗狗',
  },
  {
    date: '2016',
    name: '大狗狗',
    address: '大狗狗',
  },
  {
    date: '2016',
    name: '小猪',
    address: '小猪',
  },
  {
    date: '1200',
    name: '小雨',
    address: '小雨',
  },
]

}

</script>
<style lang='scss' scoped>

</style>
相关推荐
子兮曰2 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
强尼银手2 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
总要学点什么4 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
10share4 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js
OpsEye4 小时前
混合云 AI 架构,如何统一做敏感内容拦截?
javascript·ai编程
Funlang6 小时前
给机器写的 JavaScript 造个笼子
开发语言·javascript·ecmascript
古茗前端团队6 小时前
由 key 引发的思考
前端·javascript·react.js
kyriewen7 小时前
我扫了 422 个仓库,近一半 CI 在裸装依赖
前端·javascript·程序员
啾咪orJIUMI9 小时前
Vue 3 + 高德地图封装实战:点位、区域、Loca 流光与 Vue 信息窗体
前端·vue.js
FRing039 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2