list.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. export default {
  2. watch: {
  3. 'list.loading'(val) {
  4. if (val) {
  5. uni.showLoading({
  6. title: '加载中...',
  7. mask: true,
  8. })
  9. } else {
  10. uni.hideLoading()
  11. }
  12. },
  13. },
  14. data() {
  15. return {
  16. list: {
  17. data: [],
  18. page: 1,
  19. pageSize: 20,
  20. loading: true,
  21. finished: false,
  22. total: 0,
  23. totalPage: 0,
  24. },
  25. }
  26. },
  27. methods: {
  28. resetList() {
  29. this.list = {
  30. data: [],
  31. page: 1,
  32. pageSize: 20,
  33. loading: true,
  34. finished: false,
  35. total: null,
  36. totalPage: null,
  37. }
  38. },
  39. completes(res, listKey) {
  40. this.list.loading = false
  41. if (res.code !== 1) {
  42. this.list.finished = true
  43. }
  44. let listArr = res.data.list || res.data.data || res.data[listKey]
  45. this.list.data = this.list.page === 1 ? listArr : this.list.data.concat(listArr)
  46. this.list.total = res.data.totalPage * this.list.pageSize
  47. this.list.totalPage = res.data.totalPage || res.totalPage
  48. if (!res.data.moreData) {
  49. this.list.finished = true
  50. } else {
  51. ++this.list.page
  52. }
  53. },
  54. },
  55. }