feat: 增加一个blur事件
This commit is contained in:
@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
<el-form-item v-for="(item, idx) in props.formList" :style="item.width && { width: item.width }" :prop="item.prop" :label="item.label" :label-width="item.labelWidth" :key="idx">
|
<el-form-item v-for="(item, idx) in props.formList" :style="item.width && { width: item.width }" :prop="item.prop" :label="item.label" :label-width="item.labelWidth" :key="idx">
|
||||||
<!-- input表单 input-->
|
<!-- input表单 input-->
|
||||||
<MOSTY.Other v-if="item.type == 'input'" width="100%" clearable v-model="listQuery[item.prop]" :placeholder="`请输入${item.label}`" :disabled="item.disabled" :readonly="item.readonly" />
|
<MOSTY.Other v-if="item.type == 'input'" width="100%" clearable v-model="listQuery[item.prop]" :placeholder="`请输入${item.label}`" :disabled="item.disabled" :readonly="item.readonly" @blur="inputBlur($event,item)" />
|
||||||
|
|
||||||
<el-input v-model="listQuery[item.prop]" v-else-if="item.type == 'textarea'" type="textarea" :rows="item.rows || 3" :placeholder="`请输入${item.label}`" :disabled="item.disabled" />
|
<el-input v-model="listQuery[item.prop]" v-else-if="item.type == 'textarea'" type="textarea" :rows="item.rows || 3" :placeholder="`请输入${item.label}`" :disabled="item.disabled" @blur="inputBlur($event,item)"/>
|
||||||
<!-- 数值 inputNumber-->
|
<!-- 数值 inputNumber-->
|
||||||
<el-input type="number" v-model="listQuery[item.prop]" v-else-if="item.type == 'inputNumber'" :placeholder="`请输入${item.label}`" :disabled="item.disabled" />
|
<el-input type="number" v-model="listQuery[item.prop]" v-else-if="item.type == 'inputNumber'" :placeholder="`请输入${item.label}`" :disabled="item.disabled" @blur="inputBlur($event,item)"/>
|
||||||
<!-- 数值 number-->
|
<!-- 数值 number-->
|
||||||
<el-input-number v-model="listQuery[item.prop]" v-else-if="item.type == 'number'" style="width: 100%" :min="item.min || 0" :max="item.max || 1000" :disabled="item.disabled" />
|
<el-input-number v-model="listQuery[item.prop]" v-else-if="item.type == 'number'" style="width: 100%" :min="item.min || 0" :max="item.max || 1000" :disabled="item.disabled" />
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ const props = defineProps({
|
|||||||
});
|
});
|
||||||
const elform = ref();
|
const elform = ref();
|
||||||
const listQuery = ref({});
|
const listQuery = ref({});
|
||||||
const emits = defineEmits(["update:modelValue"]);
|
const emits = defineEmits(["update:modelValue", "blur"]);
|
||||||
// 提交
|
// 提交
|
||||||
const submit = (resfun) => {
|
const submit = (resfun) => {
|
||||||
elform.value.validate((valid) => {
|
elform.value.validate((valid) => {
|
||||||
@ -101,7 +101,12 @@ const reset = () => {
|
|||||||
|
|
||||||
// 修改这里的watch逻辑,避免无限循环
|
// 修改这里的watch逻辑,避免无限循环
|
||||||
let isUpdatingFromProps = false;
|
let isUpdatingFromProps = false;
|
||||||
|
const inputBlur = (e,item) => {
|
||||||
|
if(typeof item?.blur == 'function') {
|
||||||
|
item.blur();
|
||||||
|
}
|
||||||
|
// emits('blur', e, item);
|
||||||
|
}
|
||||||
watch(() => listQuery.value, (newVal) => {
|
watch(() => listQuery.value, (newVal) => {
|
||||||
if (newVal && !isUpdatingFromProps) {
|
if (newVal && !isUpdatingFromProps) {
|
||||||
emits("update:modelValue", newVal);
|
emits("update:modelValue", newVal);
|
||||||
|
|||||||
Reference in New Issue
Block a user