小程序分销商城_vue完成密码显示与隐藏按钮的自

2021-01-07 14:25| 发布者: | 查看: |

vue实现密码显示与隐藏按钮的自定义组件功能       本文通过两种思路给大家介绍vue实现密码显示与隐藏按钮的自定义组件功能,感兴趣的朋友跟随小编一起看看吧

思路

实现该组件有两个思路,一个使用v-model进行双向绑定,一个是使用prop的.sync修饰符、父子组件通信。

1.v-model形式

alue值,因为vue中的父子组件传递机制问题,在组件中直接修改pro凡科抠图注入的key字段时,alue字段,用于子组件中input元素的值的双向绑定,子组件中的input数据绑定可以使用v-model,也可以使用实现v-model的原理语法糖,下面两种方式都可作为子组件中的数据绑定。

 input type="password" v-model="alue"/ 
 input type="password" :value="alue" @input="alue=$event.target.value"/ 

关于v-model的实现可查看其他关于v-model的实现文章。

最后实现的子组件文件如下,这里的显示隐藏的点击使用的是文字,实际使用时可使用对应的icon字体图标,并设定一定的样式。

 template 
 div 
 input :type='show "text":"password"' :value="alue" 
@input="alue=$event.target.value" :placeholder='placeholder'/ 
 i :title="show '隐藏密码':'显示密码'" @click="changePass" 
 {{show '隐藏':'显示'}} /i 
 /div 
 /template 
 script 
export default {
 pro凡科抠图: {
 value: {
 default: "",
 type: String
 placeholder: {
 default: "",
 type: String
 data(){
 return{
 alue:"",
 show:false,//密码显示或隐藏的Boolean,默认false,密码不显示
 watch:{
 alue(news,olds){
 this.$emit("input",news);
 mounted(){
 alue=this.value;
 methods:{
 changePass(){
 this.show=!this.show;
 /script 
 style 
 /style 

父组件引用方式如下

 input-password v-model="value" /input-password 

因为这里实现的v-model的绑定方式,而v-alue改变时,则向父组件发出input事件,父组件使用v-model监听input事件,修改父组件中的value值,此处实现了双向绑定,同时在显示和隐藏的i标签上绑定事件,点击i标签时改变show的值,通过判断show的值动态改变input的type,实现密码的显示和隐藏。

2。.sync修饰符

.sync修饰符的实现与v-alue变化时向父组件发出的事件修改为 "update:value" ,alue的监听函数如下

alue(news,olds){
 this.$emit("update:value",news);
 },

父组件引用方式

 input-password :value.sync="value" /input-password 

写到最后

其实两种方式的实现最主要需要的还是父子组件之间的传值,使用emit,vuex,alue修改时可以同时使用两种emit发送,可同时支持两种方式。

以上所述是小编给大家介绍的vue实现密码显示与隐藏按钮的自定义组件功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


<
>

 
QQ在线咨询
售前咨询热线
18720358503
售后服务热线
18720358503
返回顶部