как определить интерфейс для следующего типа даты

#angular #typescript #ecmascript-6 #interface #angular9

#angular #typescript #ecmascript-6 #интерфейс #angular9

Вопрос:

Я пытаюсь определить тип интерфейса для этого.usedPercentageFilterOptions . Знаете ли вы, правильно ли указано следующее объявление интерфейса?

`

   interface Item {
     filterPillValue: string,
     id: string,
    label: string
}
interface Items {
    radio: Item,
    checkbox: Item
}
   public usedPercentageFilterOptions: Items[]

   this.usedPercentageFilterOptions = [
        {
          radio:  { filterPillValue: 'used%', id:'filter-used-%', label: 'Used %' },
          checkbox: [
            { filterPillValue: 'Full', id:'filter-full', label: 'Full' },
            { filterPillValue: 'Reached Critical threshold', id:'filter-critical-threshold', label: 'Reached Critical threshold' },
            { filterPillValue: 'Reached Warning threshold', id:'filter-warning-threshold', label: 'Reached Warning threshold' },
            { filterPillValue: 'Not reached threshold', id:'filter-not-reached-threshold', label: 'Not reached threshold' }
          ]
        }
    ];`
  

Комментарии:

1. Да, это правильно, единственная проблема, которую я обнаружил, что вы сделали флажок единственным объектом, но его массив все, что вам нужно добавить checkbox: Item[] .

Ответ №1:

Попробуйте это

  export interface Cb {
       filterPillValue?: string;
       id?: string;
       label?: string
    }
  

И

 export interface UsedPer {
       radio?: Cb;
       checkbox?: Cb[]
   }
  

Надеюсь, полезно