Vue中$attrs的使用(修改element下拉特别宽)

前言:如果你使用了多级组件,比如使用了根组件—子组件—孙组件,你想把根组件的属性和值传给孙组件的话,那可以使用vue中的$attrs语法糖

实例:

// 根组件
<template>
  <div>
    <base-select :popper-class="optionClass"</base-select>
  </div>
</template>

// 子组件或者孙组件
<template>
  <el-select v-bind="$attrs"></el-select>
</template>

可以看到子组件或者孙组件已经拿到属性和值了
在这里插入图片描述

理解:其实上面的例子是在做项目的时候看框架学来的,要求是要给上传到npm的组件上加上一个类,作用是通过elemnt属性popper-class加在下拉上一个类名,这样控制下拉的css样式。原理其实很简单。还不理解的参考:https://www.jianshu.com/p/f85876359060

备注:这里获取的属性和值必须是没有被prop注册的。

posted @ 2022-12-06 22:19  轻风细雨_林木木  阅读(32)  评论(0编辑  收藏  举报