diff --git a/api-generator/components/password.js b/api-generator/components/password.js index a5fde3cb5..8fc8b489f 100644 --- a/api-generator/components/password.js +++ b/api-generator/components/password.js @@ -174,11 +174,26 @@ const PasswordSlots = [ } ]; +const PasswordEmits = [ + { + name: 'change', + description: 'Callback to invoke on value change.', + arguments: [ + { + name: 'event', + type: 'object', + description: 'Browser event' + } + ] + } +]; + module.exports = { password: { name: 'Password', description: 'Password displays strength indicator for password fields.', props: PasswordProps, - slots: PasswordSlots + slots: PasswordSlots, + events: PasswordEmits } }; diff --git a/components/lib/password/Password.d.ts b/components/lib/password/Password.d.ts index 1e6377899..de707df29 100755 --- a/components/lib/password/Password.d.ts +++ b/components/lib/password/Password.d.ts @@ -290,6 +290,11 @@ export interface PasswordEmits { * @param {string} value - New value. */ 'update:modelValue'(value: string): void; + /** + * Callback to invoke on value change. + * @param {Event} event - Browser event. + */ + change(event: Event): void; } /** diff --git a/components/lib/password/Password.vue b/components/lib/password/Password.vue index 8a5304535..768a80fa3 100755 --- a/components/lib/password/Password.vue +++ b/components/lib/password/Password.vue @@ -129,6 +129,7 @@ export default { }, onInput(event) { this.$emit('update:modelValue', event.target.value); + this.$emit('change', event); }, onFocus(event) { this.focused = true;