elementui el-date-picker @blur
时间: 2023-12-11 18:33:18 浏览: 330
根据提供的引用内容,el-date-picker组件没有@blur事件,但是有@change事件,可以在日期选择器值改变时触发。如果需要在失去焦点时触发事件,可以使用原生的blur事件来实现。具体实现方法如下:
```html
<el-date-picker v-model="date" @change="handleChange" @blur="handleBlur"></el-date-picker>
```
```javascript
methods: {
handleChange(value) {
console.log('日期选择器值改变了', value);
},
handleBlur(event) {
console.log('失去焦点了', event);
}
}
```
相关问题
ElementUI 中el-date-picker校验添加不上
您好!对于ElementUI中的el-date-picker,您可以使用自定义校验规则来进行校验。以下是一个示例代码:
```html
<template>
<el-form :model="form" ref="form" :rules="rules">
<el-form-item label="日期" prop="date">
<el-date-picker v-model="form.date" type="date"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
date: ''
},
rules: {
date: [
{ required: true, message: '请选择日期', trigger: 'blur' },
{ validator: this.validateDate, trigger: 'blur' }
]
}
};
},
methods: {
validateDate(rule, value, callback) {
if (value && value < new Date()) {
callback(new Error('所选日期不能早于当前日期'));
} else {
callback();
}
},
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
// 校验通过,执行提交操作
console.log('提交表单');
} else {
// 校验未通过,提示错误信息
console.log('表单校验未通过');
}
});
}
}
};
</script>
```
在示例代码中,我们使用了自定义校验规则`validateDate`来判断选择的日期是否早于当前日期。通过`validator`属性将该校验规则添加到`date`字段的校验规则列表中。当点击提交按钮时,通过调用`this.$refs.form.validate`方法进行表单校验,校验通过则执行提交操作,否则提示错误信息。
希望以上信息对您有所帮助!如果您还有其他问题,请继续提问。
<el-form-item label="颁发日期" :rules="[{ required: true, message: '颁发日期不能为空' }]"> <el-date-picker v-model="formData.promulgateDate" value-format="yyyy-MM-dd" type="year" placeholder="选择年" :style="{ width: '33%' }" > </el-date-picker> </el-form-item> <el-form-item label="实施日期" :rules="[{ required: true, message: '实施日期不能为空' }]"> <el-date-picker v-model="formData.execDate" value-format="yyyy-MM-dd" type="year" placeholder="选择年" :style="{ width: '33%' }" :picker-options="expireTimeOption" > </el-date-picker> </el-form-item> <el-form-item label="失效日期" :rules="[{ required: true, message: '失效日期不能为空' }, { validator: (rule, value, callback) => checkExpiryDate(rule, value, callback, formData.promulgateDate), trigger: 'blur' }]"> <el-date-picker v-model="formData.expiryDate" value-format="yyyy-MM-dd" type="year" placeholder="选择年" :style="{ width: '33%' }" :picker-options="expiryDateOption"> </el-date-picker> </el-form-item>写下必填的校验规则
这段代码中,有三个表单项需要进行必填校验。规则如下:
1. 颁发日期:必填,不能为空。
2. 实施日期:必填,不能为空。
3. 失效日期:必填,不能为空,且需要进行日期有效性校验,即失效日期必须晚于颁发日期。其中,日期有效性校验的验证器为 checkExpiryDate() 方法,触发时机为失效日期控件的失焦事件(blur)。
阅读全文