A痞子  2023-02-15 15:28 采纳率: 73.8%
浏览 33
已结题

为何我的picker调用不出数据

为何我的picker调用不出数据
res数组的截图

img


res[1]数组的截图

img

<picker class="picker" bindchange="bindChange" :value="Index"  :range="a2" range-key="name">
    <view >
      当前选择:{{a2[Index]}}
    </view>
</picker>

<script>
    export default {
        data(){
             return{
                index: 1,
    a2:[],
                }
                },

            methods:{ // methods包裹函数

            bindPickerChange: function(e) {
            onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数
                this.a3.id3 = option.id
            this.getData()//调用函数
            },
            //下拉刷新
            onPullDownRefresh() {
                console.log('下拉了')
            
                    this.getData() //调用加载数据方法
                },
        //封装调用函数

              getData(){
                  //开始调用封装函数
    
                  this.request({
                      url:'1.asp',
                      method: '',
                    data:this.a3,
                       header:'content-type: application/x-www-form-urlencoded'
                       })
                       .then(res => {
                             console.log(res)

                             this.a2=(res[1])
                             
                                                
                             console.log(this.a2)
                        
                             
                
                     })
                        },
                        //结束封装调用函数
                        }
    }    
    
</script>


  • 写回答

4条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-15 15:40
    关注

    基于Monster 组和GPT的调写:根据你提供的代码,可能有几个问题:

    bindchange 绑定的是 bindChange 函数,但是在代码中并没有定义 bindChange 函数,只有 bindPickerChange 函数,这可能导致 picker 组件无法正确响应选择事件。请确认 bindChange 和 bindPickerChange 是否对应,或者将函数名改为 bindChange。

    a2 数组是通过异步请求获取的数据赋值的,如果请求还没有完成,那么 a2 数组中没有任何数据,这可能导致 picker 组件无法显示任何内容。你可以通过在模板中使用 v-if 指令来等待数据加载完成后再显示 picker 组件,例如:

    <template>
      <div>
        <picker v-if="a2.length > 0" class="picker" bindchange="bindChange" :value="Index" :range="a2" range-key="name">
          <view>
            当前选择:{{a2[Index]}}
          </view>
        </picker>
      </div>
    </template>
    
    
    
    

    在上面的代码中,我们使用 v-if="a2.length > 0" 条件来确保只有在 a2 数组中有数据时才显示 picker 组件。

    在 onLoad 函数中,你试图为 this.a3.id3 赋值,但是在你的代码中并没有定义 a3 对象,这可能导致出现错误。请确保 a3 对象已经正确定义。

    在 request 函数中,你传递的 method 参数为空字符串,这可能导致请求出现错误。请确认你传递的请求方法是正确的(例如 'GET' 或 'POST'),并将其传递给 method 参数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月15日
  • 修改了问题 2月15日
  • 创建了问题 2月15日

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题