Vee-Validate - 检查输入是否已填写
Vee-Validate - check if input is filled
我在我的项目中使用 vee-validate,(更新密码页面)
我想显示 hide/show 切换器图标 仅当输入字段已填满时,有没有不使用 ref 的方法?
我的代码:
<div">
<Field
name="old_password"
:type="showPassword ? 'text' : 'password'"
id="old_password"
rules="required"
/>
<v-icon
@click="showPassword = !showPassword"
class="pointer toggler-icon2"
name="hideShowToggler"
/>
</div>
<div class="error-div">
<ErrorMessage name="old_password" v-slot="{ message }">
<p class="error">{{ message }}</p>
</ErrorMessage>
</div>
提前致谢
您可以在 Field 标签中添加 v-model,在 v-icon 中添加 v-if:
<div>
<Field
name="old_password"
:type="showPassword ? 'text' : 'password'"
id="old_password"
:rules="required"
v-model="passwd"
/>
<v-icon
@click="showPassword = !showPassword"
class="pointer toggler-icon2"
name="hideShowToggler"
v-if="passwd"
/>
</div>
您的数据函数中还需要 return 密码:
data() {
return {
passwd: "",
}
}
如果没有参考文献或数据,我不知道该怎么做 return :(
编辑:
您可以添加 v-on 指令,在密码字段上的任何按键上触发功能:
<div>
<Field
name="old_password"
:type="showPassword ? 'text' : 'password'"
id="old_password"
:rules="required"
v-on:keyup="passwdChecker"
/>
<v-icon
@click="showPassword = !showPassword"
class="pointer toggler-icon2"
name="hideShowToggler"
v-if="passwd"
/>
</div>
但你仍然需要 v-if 和一个 passwd 变量,但这次它是一个布尔变量:
data() {
return {
passwd: false,
};
},
methods: {
passwdValue() {
if ($("#old_password").val()) this.passwd = true;
else return (this.passwd = false);
}
},
当然不用jQuery。希望能帮到你。
我在我的项目中使用 vee-validate,(更新密码页面)
我想显示 hide/show 切换器图标 仅当输入字段已填满时,有没有不使用 ref 的方法?
我的代码:
<div">
<Field
name="old_password"
:type="showPassword ? 'text' : 'password'"
id="old_password"
rules="required"
/>
<v-icon
@click="showPassword = !showPassword"
class="pointer toggler-icon2"
name="hideShowToggler"
/>
</div>
<div class="error-div">
<ErrorMessage name="old_password" v-slot="{ message }">
<p class="error">{{ message }}</p>
</ErrorMessage>
</div>
提前致谢
您可以在 Field 标签中添加 v-model,在 v-icon 中添加 v-if:
<div>
<Field
name="old_password"
:type="showPassword ? 'text' : 'password'"
id="old_password"
:rules="required"
v-model="passwd"
/>
<v-icon
@click="showPassword = !showPassword"
class="pointer toggler-icon2"
name="hideShowToggler"
v-if="passwd"
/>
</div>
您的数据函数中还需要 return 密码:
data() {
return {
passwd: "",
}
}
如果没有参考文献或数据,我不知道该怎么做 return :(
编辑: 您可以添加 v-on 指令,在密码字段上的任何按键上触发功能:
<div>
<Field
name="old_password"
:type="showPassword ? 'text' : 'password'"
id="old_password"
:rules="required"
v-on:keyup="passwdChecker"
/>
<v-icon
@click="showPassword = !showPassword"
class="pointer toggler-icon2"
name="hideShowToggler"
v-if="passwd"
/>
</div>
但你仍然需要 v-if 和一个 passwd 变量,但这次它是一个布尔变量:
data() {
return {
passwd: false,
};
},
methods: {
passwdValue() {
if ($("#old_password").val()) this.passwd = true;
else return (this.passwd = false);
}
},
当然不用jQuery。希望能帮到你。