<el-form-item label="" prop="manufacturer" :rules="[{ required: true, message: '请选择厂商', trigger: ['change','blur'] }]"> 厂商 <el-select v-model="i.manufacturer" placeholder="请选择" style="margin-bottom: 8px" @change="getDeviceModelByCompany(i.manufacturer)"> <el-option v-for="item in manufacturer" :key="item.id" :label="item.name" :value="item.id" /> </el-select> 型号 <el-select v-model="i.model" placeholder="请选择" style="margin-bottom: 8px" @change="clearValid"> <el-option v-for="item in model" :key="item.id" :label="item.name" :value="item.id" /> </el-select> 固件版本 <el-input @change="clearValid" v-model="i.firmwareVersion" style="margin-bottom: 8px;width: 10rem" placeholder=" " /> </el-form-item>已经有内容了必填项验证没有消失
时间: 2023-11-05 16:55:41 浏览: 31
根据你提供的代码,我看到你使用了 Element UI 的表单组件。如果必填项验证没有消失,可能是因为你的表单数据没有通过验证,需要满足规则才能消除验证提示。你可以检查以下几个方面:
1. 确认必填项的 prop 属性值是否正确设置为 "manufacturer",并且在 i 对象中有对应的属性值。
2. 确认 rules 规则中的 message 提示信息是否正确,且触发条件 trigger 是否设置正确。例如,你使用了 change 和 blur 两个事件触发验证,但是需要确保这些事件在表单项被修改时触发。
3. 如果你的表单中绑定了多个表单项,需要确保每个表单项的 prop 属性值都是唯一的,否则会出现验证提示不消失的问题。
如果以上几个方面都没有问题,可以将代码中的 i 对象打印出来,查看表单数据是否正确。如果问题还是没有解决,可以提供更多的代码或者错误提示信息,方便我帮你进一步分析问题。
相关问题
<el-card shadow="never"> <el-divider content-position="left"><h3>创建&编辑邮件模板</h3></el-divider> <el-form label-position="top"> <el-form-item label="邮件名称" prop="name" style="width: 200px"> <el-input v-model="modeData.name"></el-input> </el-form-item> <el-form-item label="模板名称" prop="subject" style="width: 200px"> <el-input v-model="modeData.subject"></el-input> </el-form-item> <el-form-item label="语言" prop="language"> <el-select v-model="modeData.language" placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="启动/禁用" prop="enable"> <el-switch v-model="modeData.enable" active-text="禁用" inactive-text="启动"> </el-switch> </el-form-item> <el-form-item label="模板配置" prop="value"> <PiEditor v-model="modeData.value" placeholder="请输入" :height="400" /> </el-form-item> <el-button @click="onSubmit">保存</el-button> </el-form> </el-card>请为这段代码布局
可以使用以下代码布局:
```
<template>
<el-card shadow="never">
<el-divider content-position="left">
<h3>创建&编辑邮件模板</h3>
</el-divider>
<el-form label-position="top">
<el-form-item label="邮件名称" prop="name">
<el-input v-model="modeData.name" style="width: 200px" />
</el-form-item>
<el-form-item label="模板名称" prop="subject">
<el-input v-model="modeData.subject" style="width: 200px" />
</el-form-item>
<el-form-item label="语言" prop="language">
<el-select v-model="modeData.language" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="启动/禁用" prop="enable">
<el-switch v-model="modeData.enable" active-text="禁用" inactive-text="启动" />
</el-form-item>
<el-form-item label="模板配置" prop="value">
<PiEditor v-model="modeData.value" placeholder="请输入" :height="400" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
```
这样可以使表单更加美观,且易于使用。
<el-form-item v-for="(domain, index) in dynamicValidateForm.domains" :label="'口味' + (index+1)" :key="domain.key" :prop="'domains.' + index + '.value'" :rules="{ required: true, message: '域名不能为空', trigger: 'blur' }" > <el-select v-model="domain.name" clearable placeholder="请选择" @change="select()"> <el-option v-for="item in options" :key="item.username" :label="item.username" :value="item.username"> </el-option> </el-select> <el-input v-model="domain.value"></el-input> <el-button @click.prevent="removeDomain(domain)">删除</el-button> </el-form-item> <el-form-item label ="口味配置"> <el-button @click="addDomain">添加口味</el-button> </el-form-item>
这段代码是基于 ElementUI 的表单组件,在单中动态生成了多个口味配置项。每个口味配置项包含一个下拉框和一个输入框,以及一个删除按钮。
下面是代码的解释:
- `v-for="(domain, index) in dynamicValidateForm.domains"`:通过遍历 `dynamicValidateForm.domains` 数组来动态生成口味配置项,`domain` 表示当前遍历的元素,`index` 表示索引。
- `:label="'口味' + (index+1)"`:设置每个口味配置项的标签,使用了动态的索引。
- `:key="domain.key"`:为每个口味配置项设置唯一的键,确保 Vue 的虚拟 DOM 可以正确渲染。
- `:prop="'domains.' + index + '.value'"`:通过 `prop` 属性将表单项与数据模型绑定,以便进行表单验证。
- `:rules="{required: true, message: '域名不能为空', trigger: 'blur'}"`:设置验证规则,要求域名不能为空。
- `<el-select v-model="domain.name" clearable placeholder="请选择" @change="select()">`:下拉框组件,通过 `v-model` 双向绑定 `domain.name` 属性,当选择的值发生改变时会触发 `select()` 方法。
- `<el-option v-for="item in options" :key="item.username" :label="item.username" :value="item.username">`:下拉框选项,通过遍历 `options` 数组来生成选项。
- `<el-input v-model="domain.value"></el-input>`:输入框组件,通过 `v-model` 双向绑定 `domain.value` 属性。
- `<el-button @click.prevent="removeDomain(domain)">删除</el-button>`:删除按钮,点击后会调用 `removeDomain` 方法,并将当前口味配置项作为参数传入。
- `<el-button @click="addDomain">添加口味</el-button>`:添加口味按钮,点击后会调用 `addDomain` 方法,用于动态添加口味配置项。
希望以上解释对您有帮助!如果您还有其他问题,请随时提问。