随笔 - 755  文章 - 0 评论 - 33 阅读 - 136万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

报错如下:

错误代码

复制代码
// 表格序号
          let nosort = 0
          for(let n in this.spanArr){
            if(this.spanArr[n]>0){
              nosort += 1
              this.$set(this.list[n],'nosort',nosort)
              this.$forceUpdate()
            }
          }
复制代码

解决办法:通过对象打点的方式给对象添加属性。

复制代码
// 表格序号
          let nosort = 0
          for(let n in this.spanArr){
            if(this.spanArr[n]>0){
              nosort += 1
              // this.$set(this.list[n],'nosort',nosort)
              this.list[n].nosort=nosort;
              this.$forceUpdate()
            }
          }
复制代码

为什么要用this.$set?

当发现我们给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到。

官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,

实际使用案例:

(1)、子组件点击选中按钮,触发父组件的方法并传值

choose(row) {
                this.dialogDialogVisible = false
                this.$emit('selectOneProduct', row)
            }

(2)、父组件监听并接收子组件传递过来的值

<product-dialog @selectOneProduct='selectOneProduct' ref="product-dialog" />

(3)、父组件的方法:

selectOneProduct(row) {
        this.$set(this.ruleForm, 'productName', row.productName)
        this.ruleForm.id = row.id
      },

(4)、父组件显示对象中的属性

复制代码
<el-row>
          <el-col :span=24>
            <el-form-item v-if="ruleForm.pointType=='2'" label="产品名称:" prop="productName">
              <el-input v-model="ruleForm.productName" :readonly="titleStatus=='update'" clearable>
                <template slot="append">
                  <el-button type="success" @click="selectProduct">选择</el-button>
                </template>
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
复制代码

效果:

 



感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
posted on   周文豪  阅读(2279)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2020-09-14 各种转换
2020-09-14 hutool的DateUtil工具类
点击右上角即可分享
微信分享提示