mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-26 01:40:34 +01:00
feat(Input/Textarea): nullify model modifier (#2309)
This commit is contained in:
@@ -158,7 +158,7 @@ export default defineComponent({
|
|||||||
default: () => ({})
|
default: () => ({})
|
||||||
},
|
},
|
||||||
modelModifiers: {
|
modelModifiers: {
|
||||||
type: Object as PropType<{ trim?: boolean, lazy?: boolean, number?: boolean }>,
|
type: Object as PropType<{ trim?: boolean, lazy?: boolean, number?: boolean, nullify?: boolean }>,
|
||||||
default: () => ({})
|
default: () => ({})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -172,7 +172,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const size = computed(() => sizeButtonGroup.value ?? sizeFormGroup.value)
|
const size = computed(() => sizeButtonGroup.value ?? sizeFormGroup.value)
|
||||||
|
|
||||||
const modelModifiers = ref(defu({}, props.modelModifiers, { trim: false, lazy: false, number: false }))
|
const modelModifiers = ref(defu({}, props.modelModifiers, { trim: false, lazy: false, number: false, nullify: false }))
|
||||||
|
|
||||||
const input = ref<HTMLInputElement | null>(null)
|
const input = ref<HTMLInputElement | null>(null)
|
||||||
|
|
||||||
@@ -193,6 +193,10 @@ export default defineComponent({
|
|||||||
value = looseToNumber(value)
|
value = looseToNumber(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (modelModifiers.value.nullify) {
|
||||||
|
value ||= null
|
||||||
|
}
|
||||||
|
|
||||||
emit('update:modelValue', value)
|
emit('update:modelValue', value)
|
||||||
emitFormInput()
|
emitFormInput()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ export default defineComponent({
|
|||||||
default: () => ({})
|
default: () => ({})
|
||||||
},
|
},
|
||||||
modelModifiers: {
|
modelModifiers: {
|
||||||
type: Object as PropType<{ trim?: boolean, lazy?: boolean, number?: boolean }>,
|
type: Object as PropType<{ trim?: boolean, lazy?: boolean, number?: boolean, nullify?: boolean }>,
|
||||||
default: () => ({})
|
default: () => ({})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -137,7 +137,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const { emitFormBlur, emitFormInput, inputId, color, size, name } = useFormGroup(props, config)
|
const { emitFormBlur, emitFormInput, inputId, color, size, name } = useFormGroup(props, config)
|
||||||
|
|
||||||
const modelModifiers = ref(defu({}, props.modelModifiers, { trim: false, lazy: false, number: false }))
|
const modelModifiers = ref(defu({}, props.modelModifiers, { trim: false, lazy: false, number: false, nullify: false }))
|
||||||
|
|
||||||
const textarea = ref<HTMLTextAreaElement | null>(null)
|
const textarea = ref<HTMLTextAreaElement | null>(null)
|
||||||
|
|
||||||
@@ -183,6 +183,10 @@ export default defineComponent({
|
|||||||
value = looseToNumber(value)
|
value = looseToNumber(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (modelModifiers.value.nullify) {
|
||||||
|
value ||= null
|
||||||
|
}
|
||||||
|
|
||||||
emit('update:modelValue', value)
|
emit('update:modelValue', value)
|
||||||
emitFormInput()
|
emitFormInput()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user