账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    从接口获取的数据没办法渲染到页面上
    35
    0
      <el-table :data="props.row.children"  row-class-name='claimAdvice' border style="width: 90%;border-color: #BAD0FF;margin: 0 auto; "
                      @expand-change="rowExpand($event,'claimAdvice')" @selection-change="handleSelectionChange">
                        <el-table-column type='expand' label-class-name="claimAdvice_header">

    JS部分
    `settlement.groupClaimAdvice.pageQuery(params).then(response=>{

            if(response.data){
                //因为怕数据无法响应 特地用了this.templist来转observe
              this.tempList = response.data
              row.children = this.tempList
            }
         })`

    以上的代码 数据都有了但是页面上 怎么都无法显示出数据 控制台其实是有的。
    当初自己模拟功能时写的数据

    let data = [{
            id:'201',
            name:'新添加的',
            desc:"添加的数据"
          }]
          if(data){
            row.children=data
          }

    这样的话页面就能渲染到,这是为何,哪位高手帮忙解决下

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 孤獨患者 普通会员 1楼

      遇到从接口获取的数据无法渲染到页面上的问题,可能是以下几个原因导致的:

      1. 异步问题:JavaScript是单线程且非阻塞的,当你通过fetch、axios等工具向后端请求数据时,这属于异步操作。如果在数据还没返回时就尝试渲染,会导致数据为空。你需要在Promise的.then或使用async/await确保数据获取完成后再进行渲染。

      例如: javascript axios.get('your-api-url') .then(response => { this.data = response.data; // 假设你将数据挂载到data上 this.$nextTick(() => { // 有时候需要在dom更新后进行渲染,可以使用$nextTick(在vue中) // 在这里进行数据渲染 }); }) .catch(error => console.error(error));

      1. 数据绑定问题:如果你是在Vue、React等框架下开发,要确保正确地将获取到的数据绑定到视图上。

      2. Vue中可能需要这样: javascript <div v-for="item in data">{{ item }}</div>

      3. React中可能需要这样: javascript {this.state.data.map(item => <div key={item.id}>{item.name}</div>)}

      4. 数据格式问题:检查从接口返回的数据格式是否符合预期,是否能够直接用于渲染。

      5. 生命周期问题:在组件的生命周期钩子函数中调用获取数据的方法,确保在渲染阶段之后执行。

      6. 错误处理:确保接口请求没有错误,并且正确解析了返回的数据。

      以上是一些常见的排查方向,具体问题还需结合你的代码和实际情况来分析解决。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部