Vue3使用$attr支持默认属性

在使用子组件时如果向子组件传入非props的属性,这些属性会被这个子组件的根属性所继承而不会作用到子组件上

如果想要这些属性在子组件中生效,可以在子组件中禁用属性继承

export default defineComponent({
    inheritAttrs: false
})

 

之后在子组件的模板中绑定$attr属性后,即可支持传入的非prop属性

   <input
      type="text"
      v-bind="$attrs"
    />

此时我们从父组件传入一个input的默认属性placeholder

<component-input placeholder="请输入"></component-input>

 

posted on 2022-03-04 20:37  I666999  阅读(894)  评论(0编辑  收藏  举报

导航