Vue3使用$attr支持默认属性
在使用子组件时如果向子组件传入非props的属性,这些属性会被这个子组件的根属性所继承而不会作用到子组件上
如果想要这些属性在子组件中生效,可以在子组件中禁用属性继承
export default defineComponent({ inheritAttrs: false })
之后在子组件的模板中绑定$attr属性后,即可支持传入的非prop属性
<input type="text" v-bind="$attrs" />
此时我们从父组件传入一个input的默认属性placeholder
<component-input placeholder="请输入"></component-input>