多态组件是可以使用as属性更改根元素的组件。所有多态组件都有一个默认组件, 当未提供as属性时使用该默认组件。例如, Link组件的默认组件是a, 它可以更改为button或任何其他元素或组件
as
Link
a
button
@rtdui的多态组件对TypeScript有着良好的支持. 一旦指定了as属性, TypeScript的智能提示和验证都将基于as指定的组件.
@rtdui
可以参考Link组件的实现, 它足够简单. 但满足了支持TypeScript多态组件的所有要求:
Box