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>
相关推荐
程序员黄同学1 小时前
请谈谈 Vue 中的 key 属性的重要性,如何确保列表项的唯一标识?
前端·javascript·vue.js
繁依Fanyi1 小时前
巧妙实现右键菜单功能,提升用户操作体验
开发语言·前端·javascript·vue.js·uni-app·harmonyos
前端御书房1 小时前
前端防重复请求终极方案:从Loading地狱到精准拦截的架构升级
前端·javascript
web182854825121 小时前
nginx 部署前端vue项目
前端·vue.js·nginx
程序员黄同学1 小时前
解释 Vue 中的虚拟 DOM,如何通过 Diff 算法最小化真实 DOM 更新次数?
开发语言·前端·javascript
果粒chenl2 小时前
css+js提问
前端·javascript·css
memorycx2 小时前
Vue02
前端·javascript·vue.js
道不尽世间的沧桑5 小时前
第17篇:网络请求与Axios集成
开发语言·前端·javascript
bin91538 小时前
DeepSeek 助力 Vue 开发:打造丝滑的复制到剪贴板(Copy to Clipboard)
前端·javascript·vue.js·ecmascript·deepseek
晴空万里藏片云10 小时前
elment Table多级表头固定列后,合计行错位显示问题解决
前端·javascript·vue.js