work-notes(17):vue2 表格 prop 数据绑定的是一个动态添加的值,发现刷新时出不来,但是表格点击其他页面或表格大小变化的时候就能出来

news/2024/7/24 9:08:10 标签: javascript, vue.js, 前端

时间:2022-06-16

文章目录

    • 问题描述
      • 图文描述:
    • 原因
      • 解析
    • 解决办法
      • 1、把给原本 .属性 方式改成 vue.set()
      • 解释
    • 实现效果

问题描述

今天做一个功能,就是把数据渲染到表格上,但是发现有问题,直接刷新的时候出不来,但是一些操作就可以拿得到。
比如说:
1、点击另外一个页面,再点回来就可以展示出来,但是一点搜索、刷新就没了;
2、拖动F12栏,表格大小变化的时候就可以出现,同样一点搜索、刷新就没了;

图文描述:

1、进来的时候,页面首次刷新无数据;
在这里插入图片描述

2、点击 R设备 再 点回 J设备,出现了;但是只有一个;
(这里出现一个是我自己代码逻辑写错)
在这里插入图片描述

3、点击 搜索后 无了;
在这里插入图片描述
在这里插入图片描述
4、此时 拖动侧边让表格大小变化,有了。
在这里插入图片描述
WDNMD,什么大动脉抽筋了;

原因

1、先看我写的代码,是 vue2 然后给数组动态添加属性;
在这里插入图片描述
2、然后这里查询的时候,其实查询只会得一条数据,但是我赋值的时候给 data[i] 下标 i 所以只会出现有一条数据赋值成功;(改成 data [0])
在这里插入图片描述

解析

1、vue2  双向绑定用的 defineproperty ;如果直接给对象 . 属性(.projectName) vue 检测不到;
	可使用 vue.set() 进行处理;

解决办法

1、把给原本 .属性 方式改成 vue.set()

javascript">// 获取项目名称
    async getProjectName() {
      console.log("this.tableData.records.length",this.tableData.records.length);
      for (let i = 0; i < this.tableData.records.length; i++) {
        await getProject({
          tenant: Base64.encode(this.tableData.records[i].tenantCode),
          projectId: this.tableData.records[i].projectId,
        }).then((resSecond) => {
          // this.tableData.records[i].projectName = resSecond.data[i].projectName;

          this.$set(
            this.tableData.records[i],
            "projectName",
            resSecond.data[0].projectName
          );
        });
      }
    },

解释

1、$set(object, "attribute", value);

	参数一:需要传入属性的对象;(我这里 records数组中下标为 i 的对象)
	参数二:需要传入的属性;(我这里的 projectName)
	参数三:需要传入的值;(我这里请求接口返回的 projectName)

实现效果

66666666666

在这里插入图片描述

如果能帮到您,那真是荣幸啊,我的baby


http://www.niftyadmin.cn/n/1410332.html

相关文章

work-notes(18):npm run build 报错 文件名、目录名或卷标语法不正确 yarn问题?

时间&#xff1a;2022-06-24 文章目录问题描述问题截图问题解决我发现重点&#xff1a;结果问题描述 前两天项目打包的时候还是正常的&#xff08;用 npm run build&#xff09;&#xff1b; 今天突然就不行了&#xff0c;我很好奇&#xff1b;网上查了很多&#xff0c;说什么…

work-notes(19):JS 引用类型数据,明明输出可以看得到数据,为什么取值却为空,或者对值判断或操作时 undefined 找不到?

时间&#xff1a;2022-06-28 文章目录摘要问题描述问题解析解决思路1、使用 async await2、取出数据标注总结摘要 就是明明数组、对象等可以输出看得到数据&#xff0c;但取不到值&#xff1b;取值都是 undefined &#xff1b;因为这些都是引用类型数据&#xff0c;代码写的是…

work-notes(20):写在 v-if 的比较判断为什么没有结果?x < xx < xxx 没有结果是为什么?

时间&#xff1a;2022-06-28 文章目录摘要问题描述问题分析解决办法总结摘要 用比较运算符时注意不要连写&#xff0c;计算机无法识别&#xff1b;问题描述 1、今天比较运算写在 vue 的 v-if 时发现没有结果&#xff1b; 2、写法&#xff1a;<span v-if"nowDate <…

work-notes(21):element时间选择框,当clearable清除时间时,发现点击搜索请求变成了1970-01,而不是空,如何解决?

时间&#xff1a;2022-0x-xx 文章目录摘要问题描述问题分析解决办法总结摘要 elemenUI时间选择框&#xff0c;当clearable清除时间时&#xff0c;搜索时间变成了1970-01&#xff0c;而不是空&#xff1b;问题描述 前些天做考勤模块&#xff0c;搜素框有 elementUI 输入选择时…

work-notes(22):电脑重装后网络不可用,只有一个飞行模式

时间&#xff1a;2022-08-25 文章目录摘要问题描述问题分析解决办法总结摘要 今天帮同事重装系统&#xff0c;重装之后发现网络用不了了&#xff0c;只有一个飞行模式&#xff1b; 这个很奇怪&#xff0c;因为之前的装都没事&#xff1b;发现是因为新电脑&#xff0c;可能它的…

用jQuery判断输入框(文本框)输入的内容,当输入的内容为空时不能提交表单

用jQuery判断输入框&#xff08;文本框&#xff09;输入的内容&#xff0c;当输入的内容为空时不能提交表单 说明 在有的时候&#xff0c;我们用不到提示框对输入的内容是否为空进行提示&#xff0c;那么我们就可以通过jQuery的验证&#xff0c;来设置&#xff0c;当输入框输…

Ajax请求JSON数据回显到模态框(jsp回显)

Ajax请求JSON数据回显到模态框(jsp回显) 说明 jsp数据回显&#xff0c;通过Ajax请求servlet&#xff0c;将查询到的数据返回给jsp页面或者模态框中显示&#xff0c;以便用户在更新数据时提高用户体验。 示例代码 我这里用了弹窗。我个人感觉我写不出好的前端 1.css 代码(弹…

c3p0连接池连接数据库 并增删改查

使用c3p0连接池连接数据库 示例&#xff08;mvc模式&#xff09; 1.mysql.properties &#xff08;连接数据库的&#xff09;文件&#xff1a; drivercom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/test?useSSLfalse&serverTimezoneUTC&characterEncoding…