我正在处理模式组件(正在运行),但是我在IDE中遇到一个错误,告诉我参数不正确。
这是我的(工作中的)代码,但是我不确定自己做错了什么?
async openMyModal(myProps: ModalProps) {
const modal = await this.modalCtrl.create({
component: MyPropsModalComponent,
componentProps: myProps
});
modal.present();
}
我得到的错误是:
参数类型{component:MyPropsModalComponent,componentProps:ModalProps}无法分配给参数类型ModalOptions
点击进入实际的(离子)代码,就可以看到模态选项:
...
component: T;
componentProps?: ComponentProps<T>;
...
我应该以其他方式在.ts
文件中组装模式吗?谢谢您的任何建议!
编辑
myProps
只是我要传递给模态组件的对象。
export interface ModalProps {
name?: string;
email?: string;
foo?: string;
...
}
MyPropsModalComponent
是我使用CLI生成的组件。因此,我正在做的事情(正在起作用)是将对象(myProps
)传递给MyPropsModalComponent
。所有人都在工作和渲染,我很好奇为什么看到这个错误?我猜这是棉绒错误吗?
答案 0 :(得分:1)
我遇到了同样的问题,事实证明IntelliJ是从ModalOptions
而不是ngx-bootstrap
自动导入@ionic/core
的。无论出于何种原因,我的IDE都无法自行找到@ionic/core
版本)。
所以我改变了:
import {ComponentProps, ModalOptions} from 'ngx-bootstrap';
进入:
import {ComponentProps, ModalOptions} from '@ionic/core';