使用接口属性作为类型

时间:2019-06-03 09:18:28

标签: typescript

我有一个外部库可以导出:

import * as React from 'react';

import { BsPrefixComponent } from './helpers';

export interface ListGroupItemProps {
  action?: boolean;
  active?: boolean;
  disabled?: boolean;
  variant?:
    | 'primary'
    | 'secondary'
    | 'success'
    | 'danger'
    | 'warning'
    | 'info'
    | 'dark'
    | 'light';
}

declare class ListGroupItem<
  As extends React.ReactType = 'a'
> extends BsPrefixComponent<As, ListGroupItemProps> {}

export default ListGroupItem;

如何在自己的界面中将变体用作类型?我正在尝试执行以下操作:

import ListGroupItemProps from 'react-bootstrap/ListGroup';

export interface Message {
    from?: string;
    content?: string;
    variant?: ListGroupItemProps.variant;
}

1 个答案:

答案 0 :(得分:1)

您可以使用index type query

import { ListGroupItemProps } from 'react-bootstrap/ListGroup';

export interface Message {
    from?: string;
    content?: string;
    variant?: ListGroupItemProps['variant'];
}