You need to enable JavaScript to run this app. React.js多选值提交Django REST API多对多字段格式适配问题求助
优惠活动
大模型
产品
解决方案
定价
更多

React.js多选值提交Django REST API多对多字段格式适配问题求助

解决方案

你只需要在表单提交的handleSubmit方法中对state.value做一次数组映射转换即可,具体实现如下:

步骤1:添加handleSubmit方法

async handleSubmit(e) {
  e.preventDefault();
  // 核心转换逻辑:将选中的多选值数组转换为适配后端的格式
  const submitNewspaperList = this.state.value.map(item => ({
    // 此处键名可根据Django REST API多对多字段要求的参数名自由调整
    "newspaper": item.label
  }));

  // 提交到后端示例代码
  try {
    const res = await axios.post('你的Django接口地址', {
      // 其他业务参数自行补充
      newspaper_list: submitNewspaperList
    });
    // 提交成功后的后续逻辑自行实现
    console.log('提交成功', res);
  } catch (err) {
    // 错误处理逻辑自行实现
    console.error('提交失败', err);
  }
}

补充说明

  • 如果Django多对多字段要求提交报刊ID而非名称,只需把转换逻辑里的item.label替换为item.value即可。
  • 现有代码中渲染选中值的部分存在拼写错误:v.lable需修改为v.label,否则选中的报刊名称无法正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 17:06:02