You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js下拉框选中值可获取但无法存入数据库问题求解

问题根因

你赋值的位置完全错误:requestItems是数组类型,你在onDrugChange中直接给数组本身添加了drugCode自定义属性,并没有修改数组内对应行的药品编码字段,所以提交到后端的数组对象里的drugCode一直是初始值0。你能打印/alert到值是因为你读的是数组额外加的属性,不是数组内元素的属性。

修复步骤

1. 下拉框事件传递当前行索引

修改模板中select的change事件,把当前循环的index作为参数传入:

<select
  name="drugCode"
  @change="onDrugChange($event, index)"
  class="form-control"
>

2. 修改onDrugChange赋值逻辑

改为给数组对应下标的元素的drugCode赋值,同时注意把下拉返回的字符串值转成数字,和后端字段类型匹配:

onDrugChange(event, index) {
  this.requestItems[index].drugCode = Number(event.target.value);
}

3. 可选优化:修正drugs初始值类型

你当前data中drugs初始定义为对象,但接口返回的是药品列表数组,建议修改初始值避免渲染异常:

data() {
  return {
    // 其他配置保持不变
    drugs: [], // 把原来的{id:0,name:""}改为空数组
    // 其他配置保持不变
  }
}

修复后提交即可看到drugCode正常入库。

内容的提问来源于stack exchange,提问作者Shahab Attarnejad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 23:36:05