el-input设置属性type=number时相关问题

文章讲述了在使用ElementUI的el-input组件设置为number类型时遇到的各种问题,如中文输入光标移动、允许特殊字符、禁止上下键改变值和鼠标滚动,提供了相应的CSS和JavaScript解决方案。

1.el-input设置type=number时,输入中文光标上移的问题

解决方法:

<style>
/**
 * 解决el-input设置类型为number时,中文输入法光标上移问题
 **/
.el-input__inner{
  line-height: 1px !important;
}
</style>

2.el-input设置了type=number还能输入e和负数问题

解决方法:

οnkeypress=“return (/[\d]/.test(String.fromCharCode(event. keyCode )));”

<el-input v-model="queryForm.remainingCountBeg"
    placeholder="剩余次数(起)" clearable type="number" maxlength="9" 
    onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));">
</el-input>

3.按键盘上下键还可以让其变成负数问题

解决方法:

onMounted(() => {
  // 处理点击键盘上下键不可以改变input中的值
  document.onkeydown = function () {
    if (window.event.keyCode === 38 || window.event.keyCode === 40) {
      window.event.returnValue = false;
    }
  }
})

 4.鼠标点击箭头增加或者减小数值,鼠标滚动也会改变问题

解决方法:

 // 隐藏el-input的上下箭头
input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
}
input::-webkit-outer-spin-button{
  -webkit-appearance: none !important;
}
input[type="number"]{
  -moz-appearance: textfield;
}

<el-dialog :title="title" :visible.sync="open" width="880px" :modal="false" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="120px" > <!-- 第一行字段 --> <el-row :gutter="20"> <el-col :span="8"> <el-form-item label="工厂代号" prop="plantNo"> <el-input v-model="form.plantNo" placeholder="请输入工厂代号" /> </el-form-item> <el-form-item label="工厂名称" prop="plantName"> <el-input v-model="form.plantName" placeholder="请输入工厂名称" /> </el-form-item> <el-form-item label="顺序号" prop="sequenceNo"> <el-input v-model="form.sequenceNo" placeholder="请输入顺序号" /> </el-form-item> <el-form-item label="产品料号" prop="partNo"> <el-input v-model="form.partNo" placeholder="请输入产品料号" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="产品描述" prop="description"> <el-input v-model="form.description" placeholder="请输入产品描述" /> </el-form-item> <el-form-item label="router工作中心" prop="routerNo"> <el-input v-model="form.routerNo" placeholder="请输入router工作中心" @blur="fetchOrderInfo" clearable/> </el-form-item> <el-form-item label="router版本" prop="routerVersion"> <el-select v-model="form.routerVersion" placeholder="请输入router版本" > <el-option v-for="dict in dict.type.router_version" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <el-form-item label="工序名称" prop="processName"> <el-select v-model="form.processName" placeholder="请输入工序名称" > <el-option v-for="dict in dict.type.process_status" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="英语名称" prop="englishName"> <el-input v-model="form.englishName" placeholder="请输入英语名称" /> </el-form-item> <el-form-item label="工艺等待间h" prop="processWatitime"> <el-input v-model="form.processWatitime" placeholder="请输入工艺等待间h" /> </el-form-item> <el-form-item label="单位" prop="routerUnit"> <el-input v-model="form.routerUnit" placeholder="请输入单位" /> </el-form-item> <el-form-item label="数量" prop="quantity"> <el-input v-model="form.quantity" placeholder="请输入数量" /> </el-form-item> </el-col> </el-row> <!-- 第二行字段 --> <el-row :gutter="20"> <el-col :span="8"> <el-form-item label="流程卡内容" prop="routercont"> <el-input v-model="form.routercont" type="textarea" placeholder="请输入内容" /> </el-form-item> <el-form-item label="机器运行间H" prop="machineRuntime"> <el-input v-model="form.machineRuntime" placeholder="请输入机器运行间H" /> </el-form-item> <el-form-item label="set_up间" prop="setuptime"> <el-input v-model="form.setuptime" placeholder="请输入set_up间,min/pcs" /> </el-form-item> <el-form-item label="工序代码" prop="processCode"> <el-input v-model="form.processCode" placeholder="请输入工序代码" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="人工间" prop="labortime"> <el-input v-model="form.labortime" placeholder="请输入人工间,min/pcs" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="router状况 " prop="routerStatus"> <el-select v-model="form.routerStatus" placeholder="请选择" > <el-option v-for="dict in dict.type.router_status" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="备注" prop="remark"> <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" /> </el-form-item> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> </div>其中router工作中心,工序名称,英语名称,流程卡内容通过输入工厂代码后自动获取,主要格式上面填写基本资料,下方生成各种工序后,可以实现多条数据维护
最新发布
09-28
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值