当前位置: 首页 > 知识库问答 >
问题:

前端 - vue如何通过$attrs覆盖已经定义的要给孙组件的props?

曾喜
2023-07-16

题目描述

vue版本:2.x

使用elementui的el-popover组件二次封装了popover组件,如何通过$attrs来覆盖子组件默认写好的props值呢?

相关代码

父组件(placement设置为top):

<cus-popover placement="top"></cus-popover>

子组件(placement已默认设置为bottom)

<el-popover placement="bottom" popper-class="cus-drop-down" v-bind="$attrs">    菜单列表内容    <div slot="reference">      <slot>        请选择      </slot>    </div>  </el-popover>...

共有3个答案

曾景龙
2023-07-16

使用$props可以透传和覆盖Popover所有的属性值

<template>  <el-popover v-bind="$props">    <!-- .... -->  </el-popover></template><script>import { Popover } from 'element-ui'export default {  // 接收Popover所有的属性,然后用$props进行传递  props: { ...Popover.props }  // .....}</script>
唐茂实
2023-07-16

为什么不考虑在子组件把placement作为props呢?因为还要声明下props?

戴嘉珍
2023-07-16
<template>  <el-popover v-bind="mergedAttrs" popper-class="cus-drop-down">    菜单列表内容    <div slot="reference">      <slot>        请选择      </slot>    </div>  </el-popover></template><script>export default {  computed: {    mergedAttrs() {      const defaultAttrs = {        placement: 'bottom',        // 其他默认属性...      };      return { ...defaultAttrs, ...this.$attrs };    },  },};</script>
 类似资料:
  • 问题内容: 我创建了一个自定义样式表,该样式表将覆盖Wordpress模板的原始CSS。但是,在我的日历页面上,原始CSS具有声明的每个表格单元格的高度: 有什么办法可以覆盖这个吗? 问题答案: 覆盖!important修饰符 只需使用添加另一个CSS规则,并赋予选择器更高的特异性(向选择器添加其他标签,id或类) 在比现有选择器晚的位置添加具有相同选择器的CSS规则(平局中,最后一个定义的获胜者

  • 问题内容: 我有一个自定义组件,其中包含两个具有自定义尺寸设置方法的TextView(两个文本视图的比例大约为1:2)。由于这是RelativeLayout的子类,因此它没有textSize属性,但是我想知道是否仍然可以在XML实例中为此组件设置属性,然后从AttributeSet中获取要使用的属性与我在构造函数中的自定义方法。 我已经看到了使用自定义属性执行此操作的技术,但是如果我想获取Andr

  • 问题内容: 我不确定这是否重复,但是我不知道要查找什么,因为我不知道这种现象的名称。 基本上,只要我使用和某些计算机上,以前的终端内容由当前文件(我认为)的缓冲液覆盖。如果我使用滚动条而不是当前程序的命令向后滚动,则可以看到以前的终端内容,但是当前程序已覆盖了前面的某些行。好像有很多行经过(例如,)的缓冲区是覆盖终端的前几行。当我退出/时,这些行仍然被覆盖,尽管它们显示在历史记录中,并且当我按一下

  • 问题内容: 我想要的只是让bool(myInstance)返回False(以及在if / or / and等条件下让myInstance评估为False。我知道如何覆盖>,<,=) 我已经试过了: 有什么建议? (我正在使用Python 2.6) 问题答案: 这是Python 2.x还是Python 3.x?对于Python 2.x,您正在寻找替代方法。

  • 我不确定在这里寻求算法方面的帮助是否合适,但谁能给我一些指导,或者告诉我在哪里可以找到这样的指导?多谢! 问题是这样的:给定一个固定的圆数,我需要一个算法来找到一组这些圆的位置和半径的最优集合来覆盖给定的形状,那么误差区域(圆在给定形状之外的部分+形状没有被这些圆覆盖的部分)是最小的?圆圈可能会重叠。

  • 如何优雅地覆盖antdesign的样式? 我想要把将这个button的border去掉(只是这个button,不影响其他button的样式)。 className or style都不行,Button组件没有提供这两个prop。倒是有一个classNames不知道是干什么的。 在index.css中添加以下规则,倒是可以去除Button上的border但是会影响所有的Button样式。 通过Con