es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo cambiar una imagen cuando hago clic en un menú desplegable con VueJS y TailwindCSS

Creé (con tu ayuda) un menú desplegable que cambia el texto cuando se hace clic con Vue, pero también quiero que aparezca una imagen, pero mi código no funciona, he intentado esto:

<div class="relative">
      <!-- Botón de alternar menú desplegable -->
      <button @click="show = !show" class="flex items-center text-gray-500 rounded-md">
        <span class="inline-flex">
          {{ selectedImg ?? '' }}
          {{ selectedLang ?? 'English' }}</span>
      </button>

<pre><code>  <!-- Menú desplegable -->
  <div v-show="show" class="
      absolute right-0 py-2
      mt-5 rounded-md shadow-xl w-36 bg-white

    ">
    <router-link to="/" @click="selectedLang = 'English'" class="
        inline-flex  w-full px-4 py-2 text-sm text-gray-500
        hover:bg-indigo-100 hover:text-indigo-600 
      ">
    <img src="../Assets/Img/en.png" alt="" class="w-6 h-4 mr-2" @click="selectedImg = 'English'">
      English
    </router-link>
    <router-link to="/" @click="selectedLang = 'French'" class="
        inline-flex w-full px-4 py-2
        text-sm text-gray-500 hover:bg-indigo-100 hover:text-indigo-600
      ">
</router-link></div></code></pre>

<hr>

<p>data() {
      return {
        show:false,
        selectedLang:null,
        selectedImg:null
      };
    },

El texto cambia normalmente, pero nada sucede con la imagen.

Imagen

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para mostrar la imagen seleccionada junto con el texto, debes vincular el atributo src de la etiqueta img con la propiedad de datos selectedImg. De esta manera:

    <img :src="'../Assets/Img/' + selectedImg + '.png'" alt="" class="w-6 h-4 mr-2" @click="selectedImg= 'English'">
    

    De esta forma, cuando cambies el valor de selectedImg al hacer clic en el menú desplegable, se actualizará el atributo src y se mostrará la imagen correspondiente. Asegúrate de que los nombres de los archivos de imagen coincidan con los valores de selectedImg.

Comments are closed.