保存按钮点击后列表数据未更新,问题可能出在数据更新机制上。 下图显示了问题:

save() 函数在调用 api.SetPortOut() 后,并未正确更新列表数据。 原因在于 portdata.tabledata 数组没有被清空,而是直接添加了新数据,导致数据重复或覆盖不完整。
解决方法:在 save() 函数中,先清空 portdata.tabledata 数组,然后重新调用 GetSerID() 函数获取并更新列表数据。 修改后的 save() 函数如下:
<code class="javascript">async function save() {
const data = {
port_id: Number(sessionStorage.getItem('lanPortId')),
state: 1,
kcn_freq: Number(INS.input_kcn),
inspva_freq: Number(INS.input_inspva),
inspvax_freq: Number(INS.input_inspvax),
bestpos_freq: Number(INS.input_bestpos),
gga_freq: Number(GNSS.input_gga),
rmc_freq: Number(GNSS.input_rmc),
dop_freq: Number(GNSS.input_dop),
gsa_freq: Number(GNSS.input_gsa),
gsv_freq: Number(GNSS.input_gsv),
heading_freq: Number(GNSS.input_heading),
zda_freq: Number(GNSS.input_zda),
gst_freq: Number(GNSS.input_gst),
rawimu_freq: Number(RAW.input_rawimu),
imudataa_freq: Number(RAW.input_imudataa),
sta_freq: Number(OTHER.input_sta),
dev_freq: Number(OTHER.input_dev),
};
const SetData = await api.SetPortOut(data);
const { data: res } = SetData;
if (res.error_code === 0) {
portdata.tabledata = []; // 清空数组
await GetSerID(); // 重新获取数据并更新列表
ElMessage({ message: res.msg, type: 'success', showClose: true });
} else {
ElMessage({ message: res.msg, type: 'error', showClose: true });
}
}</code>此修改确保了在保存操作成功后,列表数据会先被清空,再重新从服务器获取并更新,从而避免数据重复或不一致的问题。 请确保 GetSerID() 函数正确地将获取到的数据赋值给 portdata.tabledata。 如果问题仍然存在,请检查 GetSerID() 函数的实现逻辑。
以上就是点击保存后列表数据未更新,是什么原因导致的?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号