vue3 怎么取消参数里面的名字后面[]符号

问一下怎么去掉departid参数后面[]?

img

这是我的代码:

const ids = ref([])

 const handleDelete = (row: any) => {
    const departid = ids.value
    proxy.setTableRowSelected(pageTableRef, row, true)
    ElMessageBox.confirm('是否确认删除用户编号为"' + departid + '"的数据项?', '警告')
      .then(() => {
        // const departid = deid.replace(/\[\]$/, '')
        return delDepart({ departid })
      })
      .then((response: any) => {
        if (response.returnCode === '200') {
          departList()
          ElMessage.success('删除成功')
        }
      }).catch(() => {
        cleanSelect()
        ElMessage.error('取消了删除')
      })
  }

问题是这行代码
return delDepart({ departid })
去掉里面的{}无法显示departid,使用了0,1,2代替了,这是我不想要的

img

我使用了replace正则来代替符号,结果无法使用,无解。求指点

回答:你是想实现批量删除吗,如果是只删除一个,可以考虑把那个参数(departid)进行选择一个即可,我看到你那好像是一个列表,一个列表不能采用params参数直接传递的,然后,你如果想实现批量删除,可以采用delete请求,把数据放在body里面,这样肯定就没问题了。你如果只想params参数,可以对拼接之后的路径进行一个处理,毕竟请求路径只是一个字符串,你可以先拼接处理好,再发送请求

ids value 是一个字符串对吧。 不会是数组

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^