关于搜索歌曲的id不匹配

来源:3-17 高亮显示当前选中歌曲

慕姐7077867

2022-04-22

老师,我发现一个问题。在搜索歌曲的页面我调用了musiclist组件,这个组件在歌单音乐列表里是能够显示出所有信息的,可以正常使用。但是我在搜索页面调用musiclist组件时,是有问题的:只能显示歌曲名称,序号+1,歌手名字、专辑名字都没显示。且在播放时,也能够正常播放,但是播放页的歌曲名称、封面图片与搜索结果是不一致的。为什么会这样呢?
图片描述图片描述图片描述图片描述

<!--pages/search/search.wxml-->
<view class="container">
  <view class="header">
    <!-- 搜索组件 -->
    <view class="search-container">
      <x-search iconfont="iconfont" icon-sousuo="icon-sousuo" bind:search="onSearch" />
    </view>
  </view>
</view>
<!-- 歌曲列表组件 -->
<x-musiclist musiclist="{{musiclist}}" />
// pages/search/search.js
let keyword = ''
Page({

  /**
   * 页面的初始数据
   */
  data: {
    musiclist: [],         //歌曲
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

  //搜索歌曲功能
  onSearch(event){
    console.log(event.detail.keyword)
    this.setData({
      musiclist: []
    })
    keyword = event.detail.keyword
    this._getSearch(0)
  },
  //获取搜索结果
  _getSearch(){
    wx.showLoading({
      title: '搜索中',
    })
    wx.cloud.callFunction({
      name: 'music',
      data: {
        keyword,
        $url: 'search',
      }
    }).then((res) => {
      console.log(res)
      this.setData({
        musiclist: res.result.result.songs
      })
      wx.hideLoading()
      wx.stopPullDownRefresh()
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})
写回答

1回答

谢成

2022-04-24

可以对比一下 正常播放的歌曲对象 和 搜索出来的歌曲对象 ,两个对象的属性名称是否是一致的,说不定属性名称是不一样的。

0
1
慕姐7077867
好的老师。
2022-05-15
共1条回复

微信小程序云开发-从0打造云音乐全栈小程序

横跨小程序端、云后端、CMS一站式云开发的小程序全栈课程

1938 学习 · 2768 问题

查看课程

相似问题

歌曲搜索

回答 2

歌曲搜索

回答 1

搜索歌曲

回答 2