该如何正确的做动态表单校验:
<el-table-column label="物品名称" prop="stuffName" width="150"> <template slot-scope="scope"> <el-form-item :prop="`stuffName${scope.$index}`" :rules="{ required: true, message: '请选择一个物品名称', trigger: 'change' }"> <el-select v-model="scope.row.stuffName" filterable @change="handleChange(scope.row)" placeholder=" 请选择物品名称"> <el-option v-for="item in laborStuffList" :label="item.label" :value="item.name" :key="item.id">{{ item.name }} </el-option> </el-select> </el-form-item> </template></el-table-column>
“el-form-item”是后来加上的,加上el-select之后位置都变了
在 Element UI 中,el-form-item
通常用于 el-form
内部进行表单验证。当在 el-table-column
中使用 el-form-item
时,确实需要注意一些事项,因为 el-table
的渲染方式和 el-form
不完全相同。
你提供的代码片段已经基本正确地将 el-form-item
放在了 el-table-column
中,但如果你发现 el-select
的位置或显示有问题,可以尝试以下方法来解决:
el-form
包裹:el-table
是在一个 el-form
元素内部的。这样,el-form-item
才能正确地与 el-form
的验证系统关联。slot
而不是 slot-scope
:slot
替代 slot-scope
。你可以尝试使用 slot="default"
替代 slot-scope="scope"
。:prop
动态绑定属性::prop
来动态绑定属性,这样每个行的验证规则都会有所不同。el-select
的位置或显示有问题,可能需要调整 CSS 样式。检查是否有任何冲突的样式规则影响了 el-form-item
或 el-select
的显示。v-model="scope.row.stuffName"
正确绑定了数据,并且 laborStuffList
也被正确传递给了组件。validate
方法进行校验:el-form
的 validate
方法。在需要的时候调用这个方法来进行校验。如果以上方法都不能解决问题,你可能需要更详细地检查代码,或者考虑使用其他方法来实现动态表单校验,比如使用自定义的校验逻辑而不是 el-form-item
。
现在需要修改el-table-column slot="header" 中的 el-checkbox控制状态,选择表头的el-checkbox其他行checkbox都选中/取消这个已实现,但是当取消选择所有selected时,表头selectAll取消/选中失败,代码如下。js能打印出selectAll状态已发生改变,那么就是视图没有更新。思考了很久,没有找到合适的解决办法,请大佬们看看问题出现在
问题: 输入内容,失去焦点,应该提示【请输入正确的身份证号码】,也就是走rules的第二条规则partner,而不是走第一条require。 示例代码如下: 在线demo: el-form表单示例 - JS Bin
请问大佬们,如何对一行el-form-item内多个el-input输入框的进行只能输入整数或者小数的校验?
点击打印后可以打印表格和表单的数据,同时样式也在 改用vue-print-nb解决了整个问题
为什么我的这个 el-select 没有触发校验? Demo b