前端: <el-form-item label="执行时间" prop="exeTime"> <el-date-picker clearable v-model="queryParams.exeTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" placeholder="请选择创建时间"> </el-date-picker> </el-form-item>, methods: { /** 查询命令执行记录列表 */ getList() { this.queryParams.exeTime=JSON.stringify(this.queryParams.exeTime) this.loading = true; listExecuteRecord(this.queryParams).then(response => { this.executeRecordList = response.rows; this.total = response.total; this.loading = false; }); },后端: @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @NotNull(message = "执行时间不能为空", groups = { AddGroup.class, EditGroup.class }) private List<Date> exeTime;查询不出来exetime的数据
时间: 2024-04-03 10:37:09 浏览: 21
根据你提供的前端代码,可以看出在传递参数时,将 `queryParams.exeTime` (日期时间范围)转为了 JSON 字符串,然后再发送给后端。但是后端接收参数时,使用的是 `List<Date>` 类型,而不是字符串类型。因此,可以尝试修改前端代码,将 `queryParams.exeTime` 直接传递给后端,不需要将其转为字符串。另外,检查一下后端是否正确接收了参数,以及是否设置了正确的日期时间格式。
相关问题
后端使用 private List<Date> exeTime;前端 <el-form-item label="执行时间" prop="exeTime"> <el-date-picker clearable v-model="queryParams.exeTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" placeholder="请选择创建时间"> </el-date-picker> </el-form-item>查询不来数据数组返回为空
前端传递的参数是一个 Date 类型的数组,而后端接收的参数是一个 List<Date> 类型的,需要在前端传递参数时将数组转换为 List。可以在前端代码中使用 JavaScript 的 Array.prototype.map() 方法将 Date 类型的数组转换为字符串类型的数组,然后再传递给后端。修改后的代码如下:
```
<el-form-item label="执行时间" prop="exeTime">
<el-date-picker clearable
v-model="queryParams.exeTime"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<script>
export default {
data() {
return {
queryParams: {
exeTime: []
}
};
},
methods: {
search() {
// 使用 Array.prototype.map() 方法将 Date 类型的数组转换为字符串类型的数组
let exeTime = this.queryParams.exeTime.map(item => {
return item.toLocaleString();
});
// 将转换后的参数传递给后端
let params = {
exeTime: exeTime
};
// 发送请求
axios.get('/api/data', { params: params })
.then(res => {
console.log(res.data);
})
.catch(err => {
console.log(err);
});
}
}
}
</script>
```
这样就可以将前端传递的参数转换为后端需要的 List 类型了。
<el-form-item label="用户名" prop="username">动态绑定label
您可以使用Vue.js的数据绑定功能来动态绑定label。例如,您可以将label属性绑定到一个变量或计算属性,然后在template中使用这个变量或计算属性。示例如下:
```
<template>
<el-form :model="form">
<el-form-item :label="label" prop="username">
<el-input v-model="form.username"></el-input>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
label: '用户名'
form: {
username: ''
}
}
}
}
</script>
```
在上面的示例中,我们将label属性绑定到一个变量label,然后在el-form-item中使用这个变量。您可以在需要的时候更改label变量的值,以动态更改label的内容。