请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Property 'unmount' does not exist on type 'App<Element>'

setTimeOut(() => {
	messageInstance.unmount(mountNode)
	document.body.removeChild(mountNode)
}, timeout)

正在回答 回答被采纳积分+3

1回答

张轩 2021-03-08 18:08:19

同学你好 组件实例上应该是有这个方法的 你选择 messageInstance 点击右键 选择第二个 go to type difinition 去看一下。我的是这样的。是能看到 unmount 方法的

export declare interface App<HostElement = any> {
    version: string;
    config: AppConfig;
    use(plugin: Plugin_2, ...options: any[]): this;
    mixin(mixin: ComponentOptions): this;
    component(name: string): Component | undefined;
    component(name: string, component: Component): this;
    directive(name: string): Directive | undefined;
    directive(name: string, directive: Directive): this;
    mount(rootContainer: HostElement | string, isHydrate?: boolean): ComponentPublicInstance;
    unmount(rootContainer: HostElement | string): void;
    provide<T>(key: InjectionKey<T> | string, value: T): this;
    _uid: number;
    _component: ConcreteComponent;
    _props: Data | null;
    _container: HostElement | null;
    _context: AppContext;
}

不知道你的是怎样的,如果完全不一样,说明你的类型定义文件有可能有问题,你可以尝试重装一次 vue试试。

0 回复 有任何疑惑可以回复我~
  • 提问者 Oyxiaoxi #1
    ```js
    export declare interface App<HostElement = any> {
        version: string;
        config: AppConfig;
        use(plugin: Plugin_2, ...options: any[]): this;
        mixin(mixin: ComponentOptions): this;
        component(name: string): Component | undefined;
        component(name: string, component: Component): this;
        directive(name: string): Directive | undefined;
        directive(name: string, directive: Directive): this;
        mount(rootContainer: HostElement | string, isHydrate?: boolean): ComponentPublicInstance;
        umount(): void;
        provide<T>(key: InjectionKey<T> | string, value: T): this;
        _uid: number;
        _component: ConcreteComponent;
        _props: Data | null;
        _container: HostElement | null;
        _context: AppContext;
    }
    ```
    回复 有任何疑惑可以回复我~ 2021-03-08 18:54:58
  • 提问者 Oyxiaoxi #2
    ```shell
    npm uninstall -g @vue/cli 
    rm -rf node_modules 
    npm install -g @vue/cli
    npm install
    
    这样操作以后,runtime-core.d.ts 下的 umount(): void; 还是这样。
    
    手动填加 
    unmount(rootContainer: HostElement | string): void; 
    
    就行了。
    
    不明白为什么会少 parms ....
    ```
    回复 有任何疑惑可以回复我~ 2021-03-08 19:06:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信