mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-27 10:20:42 +01:00
fix(forms)!: normalize input emits (#1560)
This commit is contained in:
@@ -119,7 +119,7 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
|
|
||||||
const onChange = (event: Event) => {
|
const onChange = (event: Event) => {
|
||||||
emit('change', event)
|
emit('change', (event.target as HTMLInputElement).value)
|
||||||
emitFormChange()
|
emitFormChange()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ export default defineComponent({
|
|||||||
default: () => ({})
|
default: () => ({})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
emits: ['update:modelValue', 'blur'],
|
emits: ['update:modelValue', 'blur', 'change'],
|
||||||
setup (props, { emit, slots }) {
|
setup (props, { emit, slots }) {
|
||||||
const { ui, attrs } = useUI('input', toRef(props, 'ui'), config, toRef(props, 'class'))
|
const { ui, attrs } = useUI('input', toRef(props, 'ui'), config, toRef(props, 'class'))
|
||||||
|
|
||||||
@@ -206,6 +206,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const onChange = (event: Event) => {
|
const onChange = (event: Event) => {
|
||||||
const value = (event.target as HTMLInputElement).value
|
const value = (event.target as HTMLInputElement).value
|
||||||
|
emit('change', value)
|
||||||
|
|
||||||
if (modelModifiers.value.lazy) {
|
if (modelModifiers.value.lazy) {
|
||||||
updateInput(value)
|
updateInput(value)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
v-bind="attrs"
|
v-bind="attrs"
|
||||||
:display-value="() => query ? query : label"
|
:display-value="() => query ? query : label"
|
||||||
@change="onChange"
|
@change="onQueryChange"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<span v-if="(isLeading && leadingIconName) || $slots.leading" :class="leadingWrapperIconClass">
|
<span v-if="(isLeading && leadingIconName) || $slots.leading" :class="leadingWrapperIconClass">
|
||||||
@@ -418,14 +418,15 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
function onUpdate (event: any) {
|
function onUpdate (value: any) {
|
||||||
query.value = ''
|
query.value = ''
|
||||||
emit('update:modelValue', event)
|
emit('update:modelValue', value)
|
||||||
emit('change', event)
|
emit('change', value)
|
||||||
|
|
||||||
emitFormChange()
|
emitFormChange()
|
||||||
}
|
}
|
||||||
|
|
||||||
function onChange (event: any) {
|
function onQueryChange (event: any) {
|
||||||
query.value = event.target.value
|
query.value = event.target.value
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -459,7 +460,7 @@ export default defineComponent({
|
|||||||
// eslint-disable-next-line vue/no-dupe-keys
|
// eslint-disable-next-line vue/no-dupe-keys
|
||||||
query,
|
query,
|
||||||
onUpdate,
|
onUpdate,
|
||||||
onChange
|
onQueryChange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
type="radio"
|
type="radio"
|
||||||
:class="inputClass"
|
:class="inputClass"
|
||||||
v-bind="attrs"
|
v-bind="attrs"
|
||||||
|
@change="onChange"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="label || $slots.label" :class="ui.inner">
|
<div v-if="label || $slots.label" :class="ui.inner">
|
||||||
@@ -111,14 +112,16 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
set (value) {
|
set (value) {
|
||||||
emit('update:modelValue', value)
|
emit('update:modelValue', value)
|
||||||
emit('change', value)
|
|
||||||
|
|
||||||
if (!radioGroup) {
|
if (!radioGroup) {
|
||||||
emitFormChange()
|
emitFormChange()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
function onChange (event: Event) {
|
||||||
|
emit('change', (event.target as HTMLInputElement).value)
|
||||||
|
}
|
||||||
|
|
||||||
const inputClass = computed(() => {
|
const inputClass = computed(() => {
|
||||||
return twMerge(twJoin(
|
return twMerge(twJoin(
|
||||||
ui.value.base,
|
ui.value.base,
|
||||||
@@ -139,7 +142,8 @@ export default defineComponent({
|
|||||||
// eslint-disable-next-line vue/no-dupe-keys
|
// eslint-disable-next-line vue/no-dupe-keys
|
||||||
name,
|
name,
|
||||||
// eslint-disable-next-line vue/no-dupe-keys
|
// eslint-disable-next-line vue/no-dupe-keys
|
||||||
inputClass
|
inputClass,
|
||||||
|
onChange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
|
|
||||||
const onChange = (event: Event) => {
|
const onChange = (event: Event) => {
|
||||||
emit('change', event)
|
emit('change', (event.target as HTMLInputElement).value)
|
||||||
emitFormChange()
|
emitFormChange()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -194,8 +194,8 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const onChange = (event: Event) => {
|
const onChange = (event: Event) => {
|
||||||
|
emit('change', (event.target as HTMLInputElement).value)
|
||||||
emitFormChange()
|
emitFormChange()
|
||||||
emit('change', event)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const guessOptionValue = (option: any) => {
|
const guessOptionValue = (option: any) => {
|
||||||
|
|||||||
@@ -507,11 +507,12 @@ export default defineComponent({
|
|||||||
|
|
||||||
function onUpdate (event: any) {
|
function onUpdate (event: any) {
|
||||||
emit('update:modelValue', event)
|
emit('update:modelValue', event)
|
||||||
emit('change', event)
|
|
||||||
emitFormChange()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onChange (event: any) {
|
function onChange (event: any) {
|
||||||
|
emit('change', (event.target as HTMLInputElement).value)
|
||||||
|
emitFormChange()
|
||||||
|
|
||||||
query.value = event.target.value
|
query.value = event.target.value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ export default defineComponent({
|
|||||||
default: () => ({})
|
default: () => ({})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
emits: ['update:modelValue', 'blur'],
|
emits: ['update:modelValue', 'blur', 'change'],
|
||||||
setup (props, { emit }) {
|
setup (props, { emit }) {
|
||||||
const { ui, attrs } = useUI('textarea', toRef(props, 'ui'), config, toRef(props, 'class'))
|
const { ui, attrs } = useUI('textarea', toRef(props, 'ui'), config, toRef(props, 'class'))
|
||||||
|
|
||||||
@@ -192,6 +192,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const onChange = (event: Event) => {
|
const onChange = (event: Event) => {
|
||||||
const value = (event.target as HTMLInputElement).value
|
const value = (event.target as HTMLInputElement).value
|
||||||
|
emit('change', value)
|
||||||
|
|
||||||
if (modelModifiers.value.lazy) {
|
if (modelModifiers.value.lazy) {
|
||||||
updateInput(value)
|
updateInput(value)
|
||||||
|
|||||||
@@ -120,6 +120,8 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
set (value) {
|
set (value) {
|
||||||
emit('update:modelValue', value)
|
emit('update:modelValue', value)
|
||||||
|
emit('change', value)
|
||||||
|
|
||||||
emitFormChange()
|
emitFormChange()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user