需求:点击日期选择器的清空按钮,可以清空掉日期选择器的显示日期,以及重新刷新一遍表格列表的数据
由于Element-ui的el-date-picker中。没有内置清除按钮的回调函数
所以我们可以为el-date-picker设置一个change事件,并加入一个判断,若显示值为空的话,将页码设置为第一页,再请求一次列表数据接口
源码如下
<el-form-item label="开课日期">
<el-date-picker
v-model="formInline.start_date"
type="daterange"
align="center"
unlink-panels
value-format="yyyy-MM-dd"
placeholder="选择开课日期"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions"
clearable
@change="pickerChangeFn()">
</el-date-picker>
</el-form-item>
return {
limit_rows:10,
total_number:0,
total_page:1,
page:1,
formInline: {
start_date:[],
},
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
}
}
pickerChangeFn() {
if(this.formInline.start_date == []){
this.page = 1; //将页码设置为第一页
}
this.getClassList(); //重新请求一次列表接口
},