computed 中定义的属性相互引用时丢失类型提示
@LastLeaf ya está trabajando en esto.
Desde el 18/10/2024.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
当前存在的问题
ComponentWithComputed({
computed: {
a(data){
return true
},
b(data){
return data.a
}
}
})
键入 data. 之后并没有 a 属性
原因
当前泛型反推的是整个 TComputed 类型,而 TComputed 的值为 Record<string,xxx>,所以 computed 属性的 key 类型丢失了。
解决办法
把 TCompouted 改为 TComputedKey 反推定义的 key 值:
export const ComponentWithComputed = _ComponentWithComputed as <
TData extends WechatMiniprogram.Component.DataOption,
TProperty extends WechatMiniprogram.Component.PropertyOption,
TMethod extends WechatMiniprogram.Component.MethodOption,
TWatch extends Record<string, (...args: any[]) => void>,
TBehavior extends WechatMiniprogram.Component.BehaviorOption,
TComputedKey extends string,
TCustomInstanceProperty extends
WechatMiniprogram.IAnyObject = WechatMiniprogram.IAnyObject
>(
options: ComputedOptions<
TData,
TProperty,
TMethod,
TWatch,
TBehavior,
TComputedKey,
Record<
TComputedKey,
(
data: TData & {
[key in keyof TProperty]: TProperty[key] extends null
? any
: TProperty[key]
} & { [key in TComputedKey] }
) => any
>,
TCustomInstanceProperty
>
) => string
- Lenguaje dominante
- TypeScript
- Estrellas
- 696
- Forks
- 61
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de wechat-miniprogram/computed
-
skyline渲染模式下,Page构造器中的watch不起作用Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
wechat-miniprogram/computed#111 · 7 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
wechat-miniprogram/computed#106 · 2 comentarios ·
-
computed 属性第一次会返回 nullAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
wechat-miniprogram/computed#104 · 3 comentarios ·
-
behavior方式引用不能正常显示Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
wechat-miniprogram/computed#100 ·
-
如何像vue一样传参呢Abiertoquestion
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
wechat-miniprogram/computed#92 · 1 comentario ·
Todos los issues de wechat-miniprogram/computed
Issues similares
-
./collections should export setUmbracoVersion and setAllowFilePathUploads for in-process consumersAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
umbraco/Umbraco-CMS-MCP-Dev#563 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
afk-ok area:data-quality importer size:S
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
enorm-labs/event-junkie#3166 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
alunduil/projects-v2-sync#21 ·