Расширить @typings в Typescript - PullRequest
       8

Расширить @typings в Typescript

0 голосов
/ 29 сентября 2018

Я пишу приложение с использованием React и Typescript. Один из компонентов использует триггер ReactBootstrap.Overlay, и я хотел бы использовать в качестве аргумента неподдерживаемый параметр shouldUpdatePosition = {true}.Однако этот параметр не определен в @types дляact-bootstrap (и поскольку это неподдерживаемый аргумент, я думаю, это правильно) Можно ли расширить @types из @ types / реагировать-bootstrap этим параметром?

Мой код выглядит так:

import * as React from "react";
import * as ReactBootstrap from "react-bootstrap"

export interface IDetailsPopoverProps {
    placement?: string;
}

export class DetailsPopover extends React.Component<IDetailsPopoverProps, any> {
public render(): JSX.Element {
    var detailsPopover = <ReactBootstrap.Popover id={this.props.id} className="details-popover">
                {this.props.children}
    </ReactBootstrap.Popover>;
        return (
            <div className="details-popover-container">
                    <ReactBootstrap.OverlayTrigger 
                        ref="trigger"
                        container={this} 
                        //This is the parameter which does not exist in @types
                        shouldUpdatePosition={true} 
                        trigger="click" 
                        rootClose placement={this.props.placement ? this.props.placement : "bottom"} 
                        overlay={detailsPopover}>
                        <span className="details-popover-trigger">
                            <b className="caret"></b>
                        </span>
                    </ReactBootstrap.OverlayTrigger>
             </div>
        );
    }
}

1 Ответ

0 голосов
/ 30 сентября 2018

Добавьте что-то вроде этого объявления в свой файл:

declare module "react-bootstrap/lib/OverlayTrigger" {
    interface OverlayTriggerProps {
        shouldUpdatePosition: boolean;
    }
}

Вот страница справочника Я предполагаю, что Алуан Хаддад имел в виду.

...