问一下怎么去掉departid参数后面[]?
这是我的代码:
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代替了,这是我不想要的
我使用了replace正则来代替符号,结果无法使用,无解。求指点
回答:你是想实现批量删除吗,如果是只删除一个,可以考虑把那个参数(departid)进行选择一个即可,我看到你那好像是一个列表,一个列表不能采用params参数直接传递的,然后,你如果想实现批量删除,可以采用delete请求,把数据放在body里面,这样肯定就没问题了。你如果只想params参数,可以对拼接之后的路径进行一个处理,毕竟请求路径只是一个字符串,你可以先拼接处理好,再发送请求
ids value 是一个字符串对吧。 不会是数组
不知道你这个问题是否已经解决, 如果还没有解决的话: