Skip to content

Instantly share code, notes, and snippets.

@DespertaWeb
Last active June 1, 2018 21:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DespertaWeb/d527caf19d7ec0f166c875625cff831d to your computer and use it in GitHub Desktop.
Save DespertaWeb/d527caf19d7ec0f166c875625cff831d to your computer and use it in GitHub Desktop.
2 way binding Select Component Vue.js
<template>
<nav id="pagination" class="clearfix u-text-align-right u-margin-bottom-l u-line-height-40">
Page
<select id="pagination_select" v-model="pageSelected" class="e-select i-svg__arrow-down" :disabled="totalPages === 1 ? true : false">
<option
id="`pagination_select__option`"
v-for="pageNumber in totalPages"
:selected="pageNumber === currentPage"
:value="pageNumber"
>
{{pageNumber}}
</option>
</select>
out of {{totalPages}}
</nav>
</template>
<script>
import {mapActions, mapGetters} from 'vuex'
export default {
props: ['totalPages', 'currentPage'],
methods: {
...mapActions([
'setFilters'
])
},
computed: {
...mapGetters([
'getFilters'
]),
pageSelected: {
get () {
return this.getFilters.currentPage
},
set (val) {
const filters = {...this.getFilters}
filters.currentPage = val
this.setFilters(filters)
}
}
}
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment