| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | {{define "component/passwordInput"}}<template>  <a-input :value="value" :type="showPassword ? 'text' : 'password'" :placeholder="placeholder"    :autocomplete="autocomplete" :name="name" @input="$emit('input', $event.target.value)">    <template v-if="icon" #prefix>      <a-icon :type="icon" style="font-size: 16px;" />    </template>    <template #addonAfter>      <a-icon :type="showPassword ? 'eye-invisible' : 'eye'" @click="toggleShowPassword" style="font-size: 16px;" />    </template>  </a-input></template>{{end}}{{define "component/aPasswordInput"}}<script>  Vue.component('a-password-input', {    props: {      'title': {        type: String,        required: false,      },      'value': {        type: String,        required: false,      },      'placeholder': {        type: String,        required: false,      },      'autocomplete': {        type: String,        required: false,      },      'name': {        type: String,        required: false,      },      'icon': {        type: undefined,        required: false      }    },    template: `{{template "component/passwordInput"}}`,    data() {      return {        showPassword: false,      };    },    methods: {      toggleShowPassword() {        this.showPassword = !this.showPassword;      },    },  });</script>{{end}}
 |