PageScroller.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <div class="row items-center q-ml-md q-my-xs" style="font-size: 120%">
  3. <div class="q-mr-xs">
  4. Страница
  5. </div>
  6. <div class="bg-white">
  7. <NumInput
  8. v-model="page" :min="1" :max="totalPages"
  9. style="width: 140px" minus-icon="la la-chevron-circle-left" plus-icon="la la-chevron-circle-right" :disable="disable"
  10. />
  11. </div>
  12. <div class="q-ml-xs">
  13. из {{ totalPages }}
  14. </div>
  15. </div>
  16. </template>
  17. <script>
  18. //-----------------------------------------------------------------------------
  19. import vueComponent from '../../vueComponent.js';
  20. import NumInput from '../../share/NumInput.vue';
  21. const componentOptions = {
  22. components: {
  23. NumInput
  24. },
  25. watch: {
  26. modelValue(newValue) {
  27. this.page = newValue;
  28. },
  29. page(newValue) {
  30. this.$emit('update:modelValue', newValue);
  31. },
  32. }
  33. };
  34. class PageScroller {
  35. _options = componentOptions;
  36. _props = {
  37. modelValue: Number,
  38. disable: Boolean,
  39. totalPages: Number,
  40. };
  41. page = 1;
  42. created() {
  43. }
  44. }
  45. export default vueComponent(PageScroller);
  46. //-----------------------------------------------------------------------------
  47. </script>
  48. <style scoped>
  49. </style>