viewDesign里的table内嵌套select动态添加表格行绑定内容丢失

问题

描述

viewDesign里的table内嵌套select,表格的行数是手动点击按钮添加的,添加第一行选择select的内容能正常展示,添加第二行第一行的select的内容消失

代码

复制代码
<FormItem label="内饰颜色">
              <Table
                class="mt_10"
                border
                :columns="brandColumns"
                :data="brandData"
                ref="table"
                style="width:700px"
              >
                <template slot="brandListSlot" slot-scope="{ row,index }">
                  <Select :key="row.id" ref="selects"  placeholder="输入关键字进行选择" v-model="row.brandId" filterable :loading="loading2" clearable
                  :remote-method="remoteMethod1" >
                          <Option v-for="item in brandSelectList" :key="item.id" :label="item.name ? item.name : ''" :value="item.id">
                          </Option>
                  </Select>
                </template>
              </Table>
              <Button class="appendBtn" type="info" @click="appendRow">添加一行</Button>
            </FormItem>

解决

复制代码
<FormItem label="内饰颜色">
              <Table
                class="mt_10"
                border
                :columns="brandColumns"
                :data="brandData"
                ref="table"
                style="width:700px"
              >
                <template slot="brandListSlot" slot-scope="{ row,index }">
                  <Select :key="row.id" ref="selects"  placeholder="输入关键字进行选择" v-model="brandData[index].brandId" filterable :loading="loading2" clearable
                  :remote-method="remoteMethod1" >
                          <Option v-for="item in brandSelectList" :key="item.id" :label="item.name ? item.name : ''" :value="item.id">
                          </Option>
                  </Select>
                </template>
              </Table>
              <Button class="appendBtn" type="info" @click="appendRow">添加一行</Button>
            </FormItem>

分析

  • 直接绑定到 brandData[index].brandId 确保数据源始终是响应式的,避免中间对象(如 row)可能存在的引用问题。

  • 避免响应式数据丢失问题(直接操作数组元素时,Vue 2.x 可能无法检测变化)。

  • 通过 index 精准定位数据源,确保每行的 Select 独立管理自己的 brandId

相关推荐
蓝速科技12 分钟前
桌面双屏翻译机量产调试:三类场景兼容性破局方案丨蓝速科技
运维·数据库·人工智能·科技·技术分享
达梦数据39 分钟前
DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射
数据库·mysql·oracle
白远山44 分钟前
24小时自助健身房系统开发实战:从需求分析到完整指南
java·开发语言·数据库·数据挖掘·需求分析
达梦数据1 小时前
DMDRS服务与模块的运行步骤
数据库
lusklusklusk2 小时前
Oracle索引组织表,SQLServer聚集索引,Mysql Innodb表的数据行不是在磁盘上像排队一样严格连续地存放
mysql·postgresql·oracle·sqlserver
让学习成为一种生活方式2 小时前
PMGD:植物线粒体基因组数据库--Journal of Integrative Plant Biology
数据库
达梦数据2 小时前
达梦数据复制软件DMDRS搭建部署示例:源数据库DM8到目标数据库DM8一对一数据同步
数据库
IT_Octopus3 小时前
从一个应用开发者的角度,搞懂大数据查询的完整链路
java·大数据·数据库
Htr_3 小时前
Creem 2.0 使用指南:面向 AI 构建时代的资金平台
android·数据库·人工智能·ui·photoshop
我是大猴子3 小时前
reids的数据结构的应用场景
数据库