PasswordWithStrengthInput.vue 856 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <template>
  2. <div>
  3. <a-input
  4. :value="value"
  5. @update:value="(v: string) => $emit('update:value', v)"
  6. :disabled="disabled"
  7. type="password"
  8. v-bind="(item?.additionalProps as {})"
  9. />
  10. <PasswordStrengthMeter :password="(value as string)" />
  11. </div>
  12. </template>
  13. <script lang="ts">
  14. import { defineComponent, type PropType } from "vue";
  15. import PasswordStrengthMeter from "./PasswordStrengthMeter.vue";
  16. import type { IDynamicFormItem } from "@imengyu/vue-dynamic-form";
  17. export default defineComponent({
  18. props: {
  19. item: {
  20. type: Object as PropType<IDynamicFormItem>,
  21. },
  22. disabled: {
  23. type: Boolean
  24. },
  25. value: {},
  26. additionalProps: {
  27. type: Object as PropType<Record<string, unknown>>,
  28. },
  29. },
  30. emits: [
  31. "update:value"
  32. ],
  33. components: { PasswordStrengthMeter }
  34. });
  35. </script>