@@ -21,6 +21,7 @@ SOFTWARE.
2121***************************************************************************** */
2222
2323declare namespace WechatMiniprogram . Component {
24+ type FilterUnknownProperty < TProperty > = string extends keyof TProperty ? { } : TProperty
2425 type Instance <
2526 TData extends DataOption ,
2627 TProperty extends PropertyOption ,
@@ -33,9 +34,9 @@ declare namespace WechatMiniprogram.Component {
3334 ( TIsPage extends true ? Page . ILifetime : { } ) &
3435 TCustomInstanceProperty & {
3536 /** 组件数据,**包括内部数据和属性值** */
36- data : TData & PropertyOptionToData < TProperty >
37+ data : TData & PropertyOptionToData < FilterUnknownProperty < TProperty > >
3738 /** 组件数据,**包括内部数据和属性值**(与 `data` 一致) */
38- properties : TData & PropertyOptionToData < TProperty >
39+ properties : TData & PropertyOptionToData < FilterUnknownProperty < TProperty > >
3940 }
4041 type TrivialInstance = Instance <
4142 IAnyObject ,
@@ -69,10 +70,8 @@ declare namespace WechatMiniprogram.Component {
6970 interface Constructor {
7071 <
7172 TData extends DataOption ,
72- // 给泛型默认值,避免出现当组件无 properties 选项时
73- // 当xxx未在 data 中声明,this.data.xxx 为 any 且不报 TS2339 error 的问题。
74- TProperty extends PropertyOption = { } ,
75- TMethod extends MethodOption = { } ,
73+ TProperty extends PropertyOption ,
74+ TMethod extends MethodOption ,
7675 TCustomInstanceProperty extends IAnyObject = { } ,
7776 TIsPage extends boolean = false
7877 > (
0 commit comments