请问大佬们,如何对一行el-form-item内多个el-input输入框的进行只能输入整数或者小数的校验?
<li> <el-form ref="ruleFormRef" :model="RtkForm" :rules="rules" label-width="120px"> <div class="OverView_header"> <h1>rtk杆臂</h1> </div> <div class="OverView_SerialConfig_Part"> <div> <el-form-item label="主天线杆臂(mm):"> <el-input v-model.number="RtkForm.x" /> <el-input v-model.number="RtkForm.y" /> <el-input v-model.number="RtkForm.z" /> </el-form-item> </div> <div> <el-form-item label="测量误差估计(mm):"> <el-input v-model.number="RtkForm.mis_x" /> <el-input v-model.number="RtkForm.mis_y" /> <el-input v-model.number="RtkForm.mis_z" /> </el-form-item> </div> <div> <el-form-item label="副天线杆臂(mm):"> <el-input v-model.number="RtkForm.x_s" /> <el-input v-model.number="RtkForm.y_s" /> <el-input v-model.number="RtkForm.z_s" /> </el-form-item> </div> <div> <el-form-item label="测量误差估计(mm):"> <el-input v-model.number="RtkForm.mis_x_s" /> <el-input v-model.number="RtkForm.mis_y_s" /> <el-input v-model.number="RtkForm.mis_z_s" /> </el-form-item> </div> <!-- rtk杆臂设置 --> <el-button @click="saveRtkSetting">保存</el-button> </div> </el-form> </li>
您可以使用自定义验证规则来完成这个任务。对于只能输入整数或者小数的校验,您可以使用 ruleFormRef
的 validate
方法,检查每个 el-input
输入框的值是否为数字,并且是否为整数或小数。
下面是一个简单的示例,它演示了如何使用 Vue 3 的 ref
和 reactive
来实现这个功能:
<template> <el-form :model="form" :rules="rules" ref="formRef"> <el-form-item label="输入框1"> <el-input v-model.number="form.input1" /> </el-form-item> <el-form-item label="输入框2"> <el-input v-model.number="form.input2" /> </el-form-item> <el-button type="primary" @click="submit">提交</el-button> </el-form></template><script>export default { setup() { const form = reactive({ input1: '', input2: '', }); const rules = { input1: [ { required: true, message: '请输入输入框1的值', trigger: 'blur' }, { validator: (rule, value, callback) => { if (!Number.isInteger(value)) { callback(new Error('输入框1只能输入整数')); } else { callback(); } }, trigger: 'blur' }], input2: [ { required: true, message: '请输入输入框2的值', trigger: 'blur' }, { validator: (rule, value, callback) => { if (!Number.isInteger(value) && Number.isInteger(Math.round(value))) { callback(new Error('输入框2只能输入整数或四舍五入至整数')); } else { callback(); } }, trigger: 'blur' }], }; const formRef = ref(null); const validate = () => { formRef.value.validate((valid) => { if (valid) { alert('提交成功'); } else { alert('验证失败'); return false; } }); }; return { form, rules, formRef, validate }; },};</script>
vue3 + vite + electron + element-plus 创建的界面使用的 el-form + el-input。 每次获取焦点之后只能输入一个字符,单独使用 el-input 没有问题,放到 el-form 里面之后就有问题了。 单独使用 el-input,不用el-form 没有问题,使用 el-form + 原生input 也没问题。
el-input框输入的问题 el-input是通过封装的,在data里面是这样使用的,代码如下 userName: { }, 现在的赋值 const res = await getCompanyInfo() res.data.companyCode是接口api返回来的数据固定的字段,显示在页面上 现在的需求是 返回来的字段是固定的不能让客户删除,只能在固定的字段后面添加跟删除,现在想要在inpu
该如何正确的做动态表单校验: “el-form-item”是后来加上的,加上el-select之后位置都变了
差不多这样 看到有资源说这样:https://blog.csdn.net/cqlcqlcui123/article/details/130141190 这样也太费劲了,大家都是这么写的吗? 另外找到的材料都是element-ui,vue2的,基本上都推荐用.native: 但是写进去之后提示这个被deprecated了,也不生效
其实是想要实现这样的样式: el-select 多选,选中的内容以逗号分割,最小宽度80px;最大宽度300px;超出最大宽度显示省略号 就是大概是下面这样,一行显示已经处理了,但是最小80px,然后input框的宽度根据选中的项的字符串内容变大,最大300px,超过显示省略号还没想好如何处理,有无大佬给个思路。 看了网上有说可以用 el-select 的prefix,结合计算属性去实现,但是pr
aside里面套了el-menu 样式为 折叠动画显示正常,但是展开动画就不正常了,我看表象应该是aside正常展开,但是el-menu展开没有跟随aside。 有种解决办法就是直接把menu的border设成none,然后aside写个border,这样asider的border就可以跟着折叠一起了。但是不太理解,是因为折叠时间吗? 是因为展开的时候文字出现较晚的原因吗