首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们能把element加上‘element’组件(用复合api构建)扩展到我们的自定义组件并使用它们的道具吗?

我们能把element加上‘element’组件(用复合api构建)扩展到我们的自定义组件并使用它们的道具吗?
EN

Stack Overflow用户
提问于 2022-08-23 14:25:04
回答 1查看 147关注 0票数 0

我是vue3的新手,在vue 2版本中,“element”使用了"ElTree“组件上的"option”,这样我就可以在我的自定义组件中扩展'ElTree‘,并访问'ElTree’道具,比如'root,dragState‘。但是现在'element-plus‘库使用了"composition“,所以我无法扩展"ElTree”并访问道具’根,dragState‘。

我现在该怎么做?我可以扩展"ElTree“组件吗?还是必须直接从'element-plus‘中使用'ElTree’组件?

EN

回答 1

Stack Overflow用户

发布于 2022-10-26 09:56:59

是。

您可以想象,我希望扩展el-table以创建名为XTable的新组件,并使用其props.data

代码语言:javascript
复制
//XTable.vue
<template>
    <el-table
      v-bind="$attrs"
      :data="formatedData"
    >
      <template v-for="(_, slot) in $slots" v-slot:[slot]="scope">
        <slot :name="slot" v-bind="scope || {}" />
      </template>
    </el-table>
  </template>
  
  <script lang="ts" setup>
  import { ElTable } from "element-plus";
  
  const props = defineProps({
    data: { type: Array<any>, required: true },
  });
  
  const formatedData = computed(()=>{
    return data.map(...)
  })
  </script>

使用<el-table>.

  • Extend扩展组件的道具:使用v-bind="$attrs"将所有属性从<xtable>传递到<xtable>组件的插槽:使用<template v-for...来放置插槽。

  • 使用它们的道具:为XTable定义相同的道具名称data,并将格式化的道具传递给el-table.自定义$attrs对象(在Vue3中)包含组件的支柱或发布选项(例如类、样式等)未声明的所有属性,您应该在XTable中手动定义并将其传递给el-table

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73460473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档