You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<template> <view class="pageBg"> <u-sticky> <view class="searchBox"> <u-search placeholder="请输入教练姓名" v-model="params.name" :show-action="false" @search="searchFn"> </u-search> </view> </u-sticky> <view class="ul"> <view class="li" v-for="(item,index) in list" :key="index" @click="chooseClick(item)"> <view class="leftT">{{item.name}}</view> <view class="rigthT">{{item.mobile}}</view> </view> </view> <nodata v-if="!list.length&&status=='nomore'"></nodata> <u-loadmore :status="status" v-if="list.length>30" :icon-type="'flower'" /> </view> </template>
<script> import { coachPage } from '@/config/api.js' export default { data() { return { keyword: '', trainingSchoolId: '', list: [], params: { pageNo: 1, pageSize: 20, schoolId: '', name: '' }, status: 'loading', } }, onLoad(options) { this.params.schoolId = options.schoolId this.params.teachCarType = options.trainType this.coachPageFn() }, onReachBottom() { if(this.status=='nomore') return this.coachPageFn() }, methods: { chooseClick(item) { uni.$emit('upDateCoachItem', item) uni.navigateBack() }, searchFn() { this.list = [] this.params.pageNo = 1 this.status = 'loading' this.coachPageFn() }, // 获取教练
async coachPageFn() { const {data:res} = await coachPage(this.params) this.list.push(...res.list) this.params.pageNo ++ this.total = res.total if(this.list.length>=this.total) { this.status = 'nomore' } console.log('获取教练') console.log(this.list) }, } } </script>
<style lang="scss" scoped> .pageBg { .searchBox { background-color: #fff; padding: 16rpx 32rpx; } } .ul { width: 100%; border-bottom: 10rpx solid #f8f8f8; font-size: 30rpx; padding: 0 32rpx; color: #333333; background-color: #fff; .li { width: 100%; height: 98rpx; line-height: 98rpx; display: flex; font-size: 30rpx; justify-content: space-between; align-center: center; border-bottom: 1px solid #F5F7FA; } } </style>
|