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 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码