index.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <view class="container">
  3. <uni-list border class="list">
  4. <uni-list-item
  5. v-for="(item, index) in districtOptions"
  6. :key="index"
  7. :ellipsis="2"
  8. :title="item.value"
  9. showArrow
  10. clickable
  11. @click="listItemBtn(item)">
  12. </uni-list-item>
  13. </uni-list>
  14. <uni-load-more :status="more" />
  15. </view>
  16. </template>
  17. <script>
  18. import dictApi from '../../api/dict.js';
  19. import request from '../../api/shop.js';
  20. import { BASE_URL } from '../../env.js';
  21. export default {
  22. onLoad: function (option) {
  23. this.status = option.status;
  24. },
  25. data() {
  26. return {
  27. districtSelected: '',
  28. districtOptions: [],
  29. }
  30. },
  31. async mounted() {
  32. await this.getDicts();
  33. },
  34. methods: {
  35. async getDicts() {
  36. const resp_district = await dictApi.getDict('che_district');
  37. if (resp_district.code == 200)
  38. this.districtOptions = resp_district.data.map(l => ({ ...l, value: l.dictValue, text: l.dictLabel }));
  39. },
  40. // 列表点击函数
  41. listItemBtn(e) {
  42. uni.navigateTo({ url: `/pages/shop/taglist?district=${e.value}&status=${this.status}` })
  43. },
  44. }
  45. }
  46. </script>
  47. <style>
  48. </style>