editForm.invalid是什么
时间: 2024-06-02 15:12:23 浏览: 99
`editForm.invalid` 是一个表单验证属性,它是 Angular 中的一个表单验证状态。当表单验证不通过时,`editForm.invalid` 会返回 true,表示表单验证无效。这个属性通常用于禁用提交按钮,以避免用户提交无效的表单数据。
具体来说,当表单中的一个或多个控件的验证状态为无效时,整个表单的验证状态就会变为无效。可以通过使用 `Validators` 中的验证器来设置表单控件的验证规则,并在模板中添加相应的错误提示信息来实现表单验证。
相关问题
export default defineComponent({ props: { show: Boolean, book: Object, }, setup(props, context) { const editForm = reactive({ name: '', price: 0, publishDate: '', author: 0, classify: '', }); const close = () => { context.emit('update:show', false); }; watch(() => props.book, (current) => { Object.assign(editForm, current); editForm.publishDate = moment(Number(editForm.publishDate)); }); const submit = async () => { const res = await book.update({ id: props.book._id, name: editForm.name, price: editForm.price, author: editForm.author, publishDate: editForm.publishDate.valueOf(), classify: editForm.classify, }); result(res) .success(({ data, msg }) => { context.emit('update', data); message.success(msg); close();
这段代码使用了 Vue.js 的 Composition API,通过 reactive 函数创建了一个响应式对象 editForm,用于保存编辑图书时的表单数据。当 props.book 发生变化时,通过 watch 函数更新 editForm 对象的值,并将日期类型转换为 moment 对象。submit 函数用于提交表单数据,调用了 book.update 方法进行更新,同时处理更新成功或失败的结果并触发事件。close 函数用于关闭编辑弹窗。这段代码需要在父组件中传入一个 show 属性和一个 book 对象,以及触发 update 和 update:show 事件的方法。
以下代码中的customerOption.name我想修改成只有当customerOption中的customerType属性为SUPPLIER时才显示当前这个 customerOption.name我应该怎么修改代码 <select *ngIf="editForm.get('id')!.value == null" class="form-control" id="field_customer" data-cy="customer" name="customer" formControlName="customer" (ngModelChange)="customerChange($event)" > <option *ngIf="!editForm.get('customer')!.value" [ngValue]="null" selected></option> <option [ngValue]="customerOption.id === editForm.get('customer')!.value?.id ? editForm.get('customer')!.value : customerOption" *ngFor="let customerOption of customersSharedCollection; trackBy: trackCustomerById" > {{ customerOption.name }} </option> </select>
您可以在ngFor循环中添加一个条件判断,只有当customerOption中的customerType属性为SUPPLIER时才显示当前这个customerOption.name。代码如下:
```
<option
[ngValue]="customerOption.id === editForm.get('customer')!.value?.id ? editForm.get('customer')!.value : customerOption"
*ngFor="let customerOption of customersSharedCollection; trackBy: trackCustomerById"
*ngIf="customerOption.customerType === 'SUPPLIER'"
>
{{ customerOption.name }}
</option>
```
这个代码中的 `*ngIf="customerOption.customerType === 'SUPPLIER'"` 就是判断 `customerOption` 中的 `customerType` 是否为 `SUPPLIER` ,如果是,则显示当前这个 `customerOption.name` 。