javascript - Vue 3 Reusefull 代码如何在自定义组件中显示特定错误
问题描述
我按照教程在 Vue 3 上制作自定义组件来构建表单。我修改了 TxtFiel 组件以使用具有不同占位符的相同组件。
例如:
<TxtField placeholder="Hotel" v-model="user.hotel" />
<TxtField placeholder="Nombre" v-model="user.nombre" />
<TxtField placeholder="Apellido" v-model="user.apellido" />
在组件内部,我有一个带有 v-if 指令的 div
<div class="errorMsn"
v-if="errors.name">
{{errors.name}}
</div>
但是当我使用 v-if 指令验证错误消息时,问题就出现了,我看到错误显示在另一个带有 diff 的组件中。占位符。
“文本域.vue”
<template>
<div class="form-floating component">
<input type="text"
class="form-control form-control-sm border border-primary"
:id="placeholder"
:placeholder="placeholder"
autocomplete="off"
v-model="input"
@keyup="validateInput"
@blue="validateInput"
@input="$emit('update:modelValue', $event.target.value)">
<label :for="placeholder">{{placeholder}}:</label>
</div>
<div class="errorMsn"
v-if="errors.name">
{{errors.name}}
</div>
</template>
<script>
import { ref } from "vue";
import useFormValidation from "../js/useFormValidation.js";
export default {
props:{
placeholder:{
type:String,
required:true,
},
modelValue: String,
},
emits:['update:modelValue'],
setup(props) {
let input = ref("");
const {validateNameField, errors } = useFormValidation();
const validateInput = () =>{
validateNameField("name", input.value, props.placeholder);
console.log(errors);
};
return {input, errors, validateInput};
},
};
</script>
解决方案
推荐阅读
- selenium - Selenium 点击功能键
- prolog - 查找连接时给出给定列表的所有子列表列表
- python - Pycharm文件读取程序在调试模式下工作但在发布模式下失败?
- python - 使用 strptime 的日期转换跳过 UTC 部分
- python - 如何在networkx中使用python随机排列图的节点?
- javascript - 有什么方法可以在 reactjs 的 Link 标签中使用 target="_blank"
- node.js - 更新的 Create-React-App 不再构建
- c# - 错误:VS2019 在创建 .NET CORE 2.1 Web 应用程序后抛出 2 个错误
- kubernetes - 如何以 HTTPS 方式访问 Kubernetes 外部 IP
- spring-boot - Mockito 模拟 CassandraOperation Slice 方法