interface类型的变量,​变量 param 被声明为类型为 AnimateCallback 的变量

export interface AnimateCallback { 
  finish: (isPush: boolean, isExit: boolean) => void; 
  start: (isPush: boolean, isExit: boolean) => void; 
  onFinish: (isPush: boolean, isExit: boolean) => void 
  timeout: number; 
} 
 
export class CustomTransition { 
  registerNavParam(name: string, startCallback: (operation: boolean, isExit: boolean) => void, 
                   endCallback:(operation: boolean, isExit: boolean) => void, 
                   onFinish: (opeation: boolean, isExit: boolean) => void, timeout: number): void { 
 
    if (customTransitionMap.has(name)) { 
      let param : AnimateCallback  = customTransitionMap.get(name); 
      param.start = startCallback; 
      param.finish = endCallback; 
      param.timeout = timeout; 
      param.onFinish = onFinish; 
      return; 
    } 
    let params: AnimateCallback = {timeout: timeout, start: startCallback, finish: endCallback, onFinish: onFinish}; 
    customTransitionMap.set(name, params); 
  } 
}

这种报错应该如何修改?

​变量 param 被声明为类型为 AnimateCallback 的变量,但是在某个地方给它赋值为了一个 AnimateCallback | undefined 类型的值,这是不允许的,因为 undefined 类型不能赋值给 AnimateCallback 类型。

HarmonyOS
2024-05-10 21:43:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
克里斯蒂东

加强了类型校验增

加断言 as Want 可以解决。

分享
微博
QQ
微信
回复
2024-05-11 11:10:21
相关问题
ArkTS简单类型变量双向数据绑定
1494浏览 • 1回复 待解决
ArkTS中声明变量时public作用
2385浏览 • 1回复 待解决
Router中Param能传基础类型吗?
279浏览 • 1回复 待解决
状态变量和常规变量有什么区别?
466浏览 • 2回复 待解决
HarmonyOS定义一个map临时变量
579浏览 • 1回复 待解决
HarmonyOS 变量定义与使用
439浏览 • 1回复 待解决
LocalStorageLink修饰变量会自动保存
978浏览 • 1回复 待解决
var能否修饰ArkTS中变量
503浏览 • 1回复 待解决