Выпадающий элемент управления на скаффолдере Backstage (или переключатели)

Я создаю шаблон в скаффолдере Backstage, и мне нужен способ представить пользователю пользовательский интерфейс выбора параметров, это может быть раскрывающийся список или группа переключателей, что-то вроде этого:

      Name of your project ______
Include foo [ ]
CSS Processor |v|
 - None
 - SASS
 - Stylus

Я не мог найти, как сделать часть выбора. Единственный выпадающий список, который существует в документации , — это средство выбора репозитория, но это настраиваемый элемент управления, кроме того, я мог найти только примеры для type: string и type: boolean. На самом деле, есть что-то о type: array, но пример кажется неполным (или этот тип не предназначен для того, что я ищу)

Можно ли обойтись без кастомного компонента?

2 ответа

В конечном итоге мне удалось решить эту проблему, выполнив

        parameters:
    - title: My scaffolder
      properties:
        ...
        includeRequester:
          title: Include an API requester?
          type: string
          description: Should this module include an API requester? (REST or GraphQL)
          default: none
          enum:
            - none
            - rest
            - graphql

Однако я не мог понять, как определить метки для параметров. В идеале я имел в виду что-то вроде

      none: Don't include a requester
rest: Include a REST requester
graphql: Include a GraphQL requester

но все в порядке, несмотря на отсутствие ярлыков, он работает как положено.

Судя по текущей документации, я думаю, что ваше решение будет выглядеть так:

        parameters:
    - title: My scaffolder
      properties:
        ...
        includeRequester:
          title: Include an API requester?
          type: string
          description: Should this module include an API requester? (REST or GraphQL)
          default: none
          enum:
            - none
            - rest
            - graphql
          enumNames:
            - 'Don't include a requester'
            - 'Include a REST requester'
            - 'Include a GraphQL requester'
Другие вопросы по тегам