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)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis获取参数的几种方式有: 1. 使用@Param注解:在Mapper接口的方法参数列表使用@Param注解,可以为参数取一个名字,方便在SQL语句引用。 例如: ``` @Select("SELECT * FROM user WHERE id = #{id}") User getUserById(@Param("id") int userId); ``` 2. 使用Map类型参数:在Mapper接口的方法参数列表使用Map类型参数,可以将所有参数封装到Map,通过键值对的方式传递参数。 例如: ``` @Select("SELECT * FROM user WHERE id = #{id} AND name = #{name}") User getUserByIdAndName(Map<String, Object> paramMap); ``` 3. 使用POJO类型参数:在Mapper接口的方法参数列表使用自定义的POJO类型参数,可以将参数封装到一个对象,通过对象的属性名来引用参数。 例如: ``` @Insert("INSERT INTO user (id, name, age) VALUES (#{id}, #{name}, #{age})") int addUser(User user); ``` 4. 使用数组类型参数:在Mapper接口的方法参数列表使用数组类型参数,可以将多个参数封装到一个数组,通过数组下标的方式来引用参数。 例如: ``` @Select("SELECT * FROM user WHERE id IN (#{ids})") List<User> getUsersByIds(@Param("ids") int[] ids); ``` 5. 使用List类型参数:在Mapper接口的方法参数列表使用List类型参数,可以将多个参数封装到一个List,通过List元素的位置来引用参数。 例如: ``` @Select("SELECT * FROM user WHERE id IN (#{ids})") List<User> getUsersByIds(List<Integer> ids); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值