computed 中定义的属性相互引用时丢失类型提示
@LastLeaf ci sta già lavorando.
Dal 18/10/2024.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
当前存在的问题
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
- Lingua principale
- TypeScript
- Stelle
- 696
- Fork
- 61
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wechat-miniprogram/computed
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
wechat-miniprogram/computed#111 · 7 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
wechat-miniprogram/computed#106 · 2 commenti ·
-
computed 属性第一次会返回 nullAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
wechat-miniprogram/computed#104 · 3 commenti ·
-
behavior方式引用不能正常显示Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
wechat-miniprogram/computed#100 ·
-
如何像vue一样传参呢Apertaquestion
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
wechat-miniprogram/computed#92 · 1 commento ·
Tutte le issue di wechat-miniprogram/computed
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug] remember() with special characters in namespace hangs until timeout instead of returning 400Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
MystenLabs/MemWal#1133 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug user-priority/P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
Effect-TS/effect#8881 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno