Pokemon Options - Tylung/vue-apuntes GitHub Wiki

Template

Dentro del div, se crea una lista desordenada y los li tienen la directiva v-for para crear el nombre de un pokemon en cada li, esto se guia por el id de la prop pokemon, por ello solo crea 4 li, es el numero de pokemones. Ademas espera un click y lanza un $emit, que emite el evento selection-pokemon del PokemonPage.vue y le manda como parametro el pokemon.id del li del pokemon que seleccionaste, haciendo esto podemos saber exactamente que pokemon selecciono el usuario.

<div class="options-container">
        <ul>
        <li 
            v-for="pokemon in pokemons"
            :key="pokemon.id"                
            @click="$emit( 'selection-pokemon', pokemon.id )">
                  {{ pokemon.name }}
            </li>
        </ul>
</div>

Script

En el export default solo se declara la prop reactiva pokemons que es un arreglo y es required, estos pokemons son el pokemonArr que le pasamos como atributo a este componente

export default {
    props: {
        pokemons: {
            type: Array,
            required: true
        }
    },
}

Style

En los estilos solo se le quita el formato de lista, centra las imagenes y cambia el color de fondo de los li cuando hay un hover

<style scope>

ul {
    list-style-type: none;
}
li {
    background-color: white;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    cursor: pointer;
    margin-bottom: 10px;
    width: 250px;
}

li:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.options-container {
    display: flex;
    justify-content: center;
}

</style>
⚠️ **GitHub.com Fallback** ⚠️