当前位置: 首页 > news >正文

Select中获取name的几种方式

Select中获取name的几种方式

// 方式一:初始化时构造 { id: name } 映射结构,便于保存时根据id直接获取name值
const idNameMap = {}

function init() {
  axios('/api/getSelectOptions').then((res) => {
    const selectOptions = res.data || []
    const options = []

    selectOptions.forEach((item) => {
      // 构造 option
      options.push(`<option value="${item.id}">${item.name}</option>`)

      // 构造 { id: name } 映射
      idNameMap[item.id] = item.name
    })

    this.state.options = options
  })
}

function submit(formValue) {
  const params = Object.assign({}, formValue)
  const { name } = formValue

  params.name = name
  params.id = idNameMap[name]

  axios('/api/submit', params)
}
// 方式二:根据 id 在初始select options 列表里找 name
let selectOptions = []

function init() {
  axios('/api/getSelectOptions').then((res) => {
    selectOptions = res.data || []
    // 构造 option
    this.state.options = selectOptions.reduce((arr, next) => {
      arr.push(`<option value="${next.id}">${next.name}</option>`)
    }, [])
  })
}

function submit(formValue) {
  const params = Object.assign({}, formValue)

  // 根据 id 在初始 selectOptions 列表里找 name
  const target = selectOptions.find((item) => item.id == formValue.id)
  target && (params.name = target.name)

  axios('/api/submit', params)
}

相关文章:

  • 多状态下定义map
  • JavaScript中对象数组,如何给对象添加一个新属性
  • ant design react中的disabledDate不可选择时间的处理
  • antd react传值(子传父)
  • 数组对象去重(用reduce方法)
  • 合并数组对象object.assign(目标对象,原对象)
  • vue列表,表格自动滚动
  • mescroll的uni版本, 是在 uni-app 运行的下拉刷新和上拉加载的组件
  • uni-app使用button按钮,设置border:none不起作用
  • js 实现DES加密解密
  • 富文本用js过滤部分标签但保留文本内容代码!
  • uniapp 将 url 地址转化为二维码展示
  • 当JSON.stringify(json)和JSON.parse(json)相互转换报错
  • uni-app实现购物车整套逻辑
  • uni-app实现,预览图片后,保存至相册
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • CentOS6 编译安装 redis-3.2.3
  • Consul Config 使用Git做版本控制的实现
  • export和import的用法总结
  • Javascript Math对象和Date对象常用方法详解
  • java多线程
  • Octave 入门
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • REST架构的思考
  • scala基础语法(二)
  • sublime配置文件
  • Vim 折腾记
  • Vue全家桶实现一个Web App
  • Vue小说阅读器(仿追书神器)
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 大整数乘法-表格法
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 使用putty远程连接linux
  • 因为阿里,他们成了“杭漂”
  • 栈实现走出迷宫(C++)
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ###C语言程序设计-----C语言学习(3)#
  • (175)FPGA门控时钟技术
  • (二开)Flink 修改源码拓展 SQL 语法
  • (四)JPA - JQPL 实现增删改查
  • (原創) 物件導向與老子思想 (OO)
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)VC++中ondraw在什么时候调用的
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .libPaths()设置包加载目录
  • .NET 8.0 中有哪些新的变化?
  • .NET 发展历程
  • .NET 回调、接口回调、 委托
  • .Net 知识杂记
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net(C#)中String.Format如何使用
  • /etc/motd and /etc/issue
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解