Alinee la etiqueta y seleccione el menú desplegable en la misma fila en el sweetalert 2 [cerrado]

Jan 05 2021

Estoy buscando, por ejemplo, dónde puedo alinear la etiqueta y el menú desplegable en la misma fila usando sweetalert2.

Intenté agregar una etiqueta personalizada para lograr esto, pero va en la línea diferente y me gustaría consolar el menú desplegable seleccionado al hacer clic en el botón Aceptar.

A continuación se muestra mi stackblitz.

https://stackblitz.com/edit/angular-sweetalert-dropdown

Respuestas

1 LimonMonte Jan 06 2021 at 01:52

Utilice inputLabel+ customClassparams:

Swal.fire({
  title: 'Select + label in one row',
  input: 'select',
  inputOptions: {
    apples: 'Apples',
    bananas: 'Bananas',
    oranges: 'Oranges'
  },
  inputLabel: 'Select a fruit',
  customClass: {
    input: 'inline-flex',
    inputLabel: 'inline-flex'
  }
})
.inline-flex {
  display: inline-flex !important;
  margin: .5em !important;
}
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script> 

Leer más sobre customClass:https://sweetalert2.github.io/#customClass

1 AhmedMaher Jan 05 2021 at 11:42

Puede usar HTML simple / con estilo y capturar el valor desplegable normalmente de la siguiente manera:

 Swal.fire({

  showCancelButton: true,
  type: "warning",
  html: ` select reason <select name="cars" id="cars">
          <option value="volvo">Volvo</option>
          <option value="saab">Saab</option>
          <option value="mercedes">Mercedes</option>
          <option value="audi">Audi</option>
          </select>`,

  preConfirm: function() {
  var elm = document.getElementById("cars");
  alert(elm.value); // use user selected value freely
  }

   });