Vue3使用$attr支持默认属性


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

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

export default defineComponent({
    inheritAttrs: false
})

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

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

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

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