Since discordjs/[email protected], for discord.js version 14.23.0 and later, you can now add select menus inside modals.
export const example_modal = new Command()
  .setName('example_modal')
  .setDescription('Launches an example modal with a drop down.')
  .setAction(async (interaction) => {
    const modal = new ModalBuilder()
      .setCustomId("exampleModal")
      .setTitle("Example Modal");
    modal.addLabelComponents(
      new LabelBuilder()
        .setLabel("Favourite Snack")
        .setDescription("Select your favourite snack from the list of options below.")
        .setStringSelectMenuComponent(new StringSelectMenuBuilder()
          .setCustomId("favSnack")
          .setPlaceholder("Choose your favourite snack")
          .setRequired(true)
          .setOptions(
            new StringSelectMenuOptionBuilder()
              .setLabel("Apple")
              .setDescription("A very healty option.")
              .setEmoji("🍎")
              .setValue("Red Apple"),
            new StringSelectMenuOptionBuilder()
              .setLabel("Chocolate Pie")
              .setDescription("A sweet hot chocolate pie.")
              .setEmoji("🥧")
              .setValue("Choco Pie"),
            new StringSelectMenuOptionBuilder()
              .setLabel("Lemon Melon Cookie")
              .setDescription("Miku's Favourite")
              .setEmoji("🍪")
              .setValue("LEMON MELON COOKIE")
          )
        ),
      new LabelBuilder()
        .setLabel("Reason")
        .setDescription("Why is this your favourite snack?")
        .setTextInputComponent(
          new TextInputBuilder()
            .setCustomId("reason")
            .setPlaceholder("Why do you like this snack so much?")
            .setMaxLength(1_000)
            .setRequired(true)
            .setStyle(TextInputStyle.Paragraph)
        )
    )
    await interaction.showModal(modal);
  })