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

相关推荐
XDHCOM16 小时前
ORA-32484重复列名错误,ORACLE数据库CYCLE子句故障修复与远程处理方案
数据库·oracle
翻斗包菜17 小时前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
呆瑜nuage17 小时前
MySQL表约束详解:8大核心约束实战指南
数据库·mysql
liliangcsdn17 小时前
Agent Memory智能体记忆系统的示例分析
数据库·人工智能·全文检索
那个失眠的夜17 小时前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis
Rick199317 小时前
SQL 执行流程
数据库·sql
M--Y17 小时前
Redis常用数据类型
数据结构·数据库·redis
元宝骑士17 小时前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
猿小喵18 小时前
MySQL慢查询分析与处理-第二篇
数据库·mysql·性能优化
Y0011123618 小时前
MySQL-进阶
开发语言·数据库·sql·mysql