后台返回给前端的数据通过id显示对应的name

1:如果数据很多的情况这么写太麻烦

            <ul v-for="(item,index) of pcContInfoVOList" :key="index">
                <li>
                    <h1>
                        <span>{{item.serviceTypeText}}</span>
                        <span>
                            <template v-if="item.signStatus == 1">待签署</template>    
                            <template v-else-if="item.signStatus == 2">草稿</template>    
                            <template v-else-if="item.signStatus == 3">生效中</template>   
                            <template v-else>已到期</template> 
                        </span>
                    </h1>
                    <p>
                        <span>开始时间:</span>
                        <i>{{item.startDate}}</i>
                    </p>
                    <p>
                        <span>结束时间:</span>
                        <i>{{item.signDate}}</i>
                        <button @click='sign(item.id)'>签署</button>
                    </p>
                    <p style='display:none'>{{item.id}}</p>
                </li>
            </ul>

2:换个例子,这样写简单
表格回显下拉框的 name 值通过 id 显示 name
调用方法将 id 传过去

<el-table-column
  show-overflow-tooltip
  prop="id"
  label="品类"
  align="center"
  width="150"
 >
	<template slot-scope="scope">{{getCategoryName(scope.row.id)}}</template>
</el-table-column>

this.ProductDataListCategory 是下拉框所有的数据,通过 id 把 name return 出来

getCategoryName(id) {
      if (!id) {
        return null;
      }
      for (let i = 0, len = this.ProductDataListCategory.length; i < len; i++) {
        let item = this.ProductDataListCategory[i];
        if (item.id == id) {
          return item.name;
        }
      }
      return null;
},
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要在小程序页面上添加滚动事件,监听是否触底。当触底时,触发一个函数来进行分页加载数据。 在加载数据的函数中,你可以向后台发送请求,获取数据并进行筛选。筛选数据的方式可以根据你的需求来定,可以通过请求参数传递筛选条件,也可以在前端进行筛选。 获取到符合条件的数据后,你可以将数据在一个数组中,并调用小程序的 setData 函数来更新页面数据。 具体的代码实现可以参考以下示例: 1. 在页面 onLoad 中初始化数据 ```javascript Page({ data: { dataList: [], // 数据列表 pageNo: 1, // 当前页码 pageSize: 10, // 每页数据条数 category: '' // 种类筛选条件 }, onLoad: function () { this.loadData() }, // 加载数据函数 loadData: function () { let { dataList, pageNo, pageSize, category } = this.data // 发送请求,获取数据 wx.request({ url: 'your-api-url', data: { pageNo, pageSize, category }, success: res => { let newDataList = res.data.data if (newDataList.length > 0) { // 将新数据拼接到原有数据列表中 dataList = dataList.concat(newDataList) this.setData({ dataList, pageNo: pageNo + 1 }) } } }) } }) ``` 2. 监听页面滚动事件,判断是否触底 ```javascript Page({ // ... // 监听页面滚动事件,判断是否触底 onReachBottom: function () { this.loadData() } }) ``` 3. 添加筛选种类功能 ```javascript Page({ data: { // ... categoryList: ['种类1', '种类2', '种类3'], // 种类列表 categoryIndex: -1 // 当前选中的种类索引 }, // 监听种类选择器变化,更新筛选条件并重新加载数据 bindCategoryChange: function (e) { let categoryIndex = e.detail.value let category = categoryIndex > -1 ? this.data.categoryList[categoryIndex] : '' this.setData({ categoryIndex, category, dataList: [], // 清空数据列表 pageNo: 1 // 重置页码 }) this.loadData() } }) ``` 4. 在页面中渲染数据 ```wxml <view class="container"> <picker bindchange="bindCategoryChange" value="{{categoryIndex}}" range="{{categoryList}}" range-key="">{{categoryList[categoryIndex] || '全部'}}</picker> <view class="list"> <block wx:for="{{dataList}}" wx:key="id"> <view class="item">{{item.name}}</view> </block> </view> </view> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值