<el-date-picker
v-if="enterLoad"
v-model="enterTime"
type="date"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions"
placeholder="请选择进场时间">
</el-date-picker>
v-if是为了重新加载组件,若只需要加载一次,则不用定义v-if;若多次进入弹窗页面每次都要重新加载否则第二次不会刷新时间范围
(例如:修改列表每条记录)。
data() {
return {
pickerOptions:{},
enterLoad:true,
};
},
methods: {
/** 修改按钮操作 */
handleUpdate(row) {
this.enterLoad = false;//重置选择器
getPeople(row.id).then(response => {
this.form = response.data;
//根据id查询到的状态参数不同,将数据传入方法设置时间范围
this.enterReload(response.data.workStatus);
});
},
**//设置时间范围**
enterReload(state){
this.pickerOptions.disabledDate = function(time){
return state == 2 ? time.getTime() > new Date().getTime() : '';
};
this.enterLoad = true;//重置选择器
},
}
将数据传入方法设置时间范围