如何在 JSX 中扩展 HTMLButtonAttribute 类型
How to extend HTMLButtonAttribute type in JSX
我正在使用 StencilJS 创建一个简单的按钮组件,它使用 JSX 和 TypeScript。当前的稳定版本没有属性 part
的类型。基本上我正在尝试这样做:
render() {
return <button part="live-chat-button">{this.getStartButtonText()} </button>;
}
但是打字稿错误:
Type '{ part: string; }' is not assignable to type
'ButtonHTMLAttributes<HTMLButtonElement>'. Property
'part' does not exist on type 'ButtonHTMLAttributes<HTMLButtonElement>'.
除了升级到固定的 alpha version,我该如何解决这个问题?
在此先感谢您的帮助!
您应该能够使用模块扩充向任何 jsx 元素添加属性:
declare module '@stencil/core' {
namespace JSXElements {
interface ButtonHTMLAttributes<T> {
part?: string
}
}
}
这应该适用于按钮。
我正在使用 StencilJS 创建一个简单的按钮组件,它使用 JSX 和 TypeScript。当前的稳定版本没有属性 part
的类型。基本上我正在尝试这样做:
render() {
return <button part="live-chat-button">{this.getStartButtonText()} </button>;
}
但是打字稿错误:
Type '{ part: string; }' is not assignable to type
'ButtonHTMLAttributes<HTMLButtonElement>'. Property
'part' does not exist on type 'ButtonHTMLAttributes<HTMLButtonElement>'.
除了升级到固定的 alpha version,我该如何解决这个问题?
在此先感谢您的帮助!
您应该能够使用模块扩充向任何 jsx 元素添加属性:
declare module '@stencil/core' {
namespace JSXElements {
interface ButtonHTMLAttributes<T> {
part?: string
}
}
}
这应该适用于按钮。