当前位置: 首页 > 知识库问答 >
问题:

前端 - 如何解决 Element UI 计数器在减号被点击后加号无法使用的问题?

柳刚豪
2024-01-31

<el-table-column prop="service_num" label="售后数量" width="160">
<template slot-scope="scope">

 <el-input-number v-model="scope.row.service_num" @change="handleChange" :min="1"                 :max="scope.row.service_num" size="mini"></el-input-number></template>

</el-table-column>

element ui计数器,最大值为service_num后台返回的值,假设后台返回为5,这个计数器为1-5,小于等于1时减符号不能用,大于等于5时加符号不能用,现在问题是点击减符号后加符号不能使用了,有什么解法吗?

共有2个答案

孙玺
2024-01-31

你的v-model和max绑定的是同一个数据,改变v-model就是在改变max,这不合理,最大值就是最大值,不应该跟着v-model去变,应该复制一份再使用

柴禄
2024-01-31

你的问题是关于 Element UI 的计数器在点击减号后加号无法使用的问题。从你提供的代码中,我注意到你的计数器使用了 minmax 属性,这两个属性限制了计数器的值。当计数器的值达到最小值时,减号会被禁用,当计数器的值达到最大值时,加号会被禁用。

然而,你的问题是在点击减号后加号被禁用了。这可能是因为你的 handleChange 方法没有正确处理这种情况。当计数器的值小于最小值时,你需要将计数器的值设置为最小值,而不是让加号失效。

你可以尝试修改 handleChange 方法,使其在计数器的值小于最小值时将其设置为最小值,而不是禁用加号。下面是一个可能的实现:

methods: {  handleChange(value, row) {    if (value < 1) {      this.$message.error('售后数量不能小于1!');      return;    }    if (value > row.service_num) {      this.$message.error('售后数量不能超过' + row.service_num + '!');      return;    }    // 更新服务数量    row.service_num = value;  }}

在这个方法中,我们首先检查计数器的值是否小于最小值(1)。如果是,我们显示一个错误消息,并返回,不更新计数器的值。然后,我们检查计数器的值是否大于最大值(row.service_num)。如果是,我们也显示一个错误消息,并返回,不更新计数器的值。如果计数器的值在有效范围内,我们就更新服务数量。

这样修改后,即使你点击减号将计数器的值减少到最小值,加号也不会被禁用。

 类似资料:
  • 1.项目是使用的若依的框架,vue2+elementui. 2.页面问题:在页面出示加载的时候,会有一个js特别慢,能有10M,加载8s,严重影响页面的体验. 在测试环境还行,但是升级到正式的环境之后就会出现这个问题。 排查之后发现js也是开启gzip的webpack配置 3.webpack的配置 1,删除一些预加载,放在了webpack中,但是不生效。 2,"report": "vue-cli-

  • 我已经在Android Studio中编写了它,也在同一个项目中与Kotlin一起工作。这是我的java代码的错误列表(按照Android Studio扔给我的顺序): 无法解析符号“重写” 无法解析方法“在创建时(?)” 无法解析符号“Saved InstanceState” 无法解析方法“在创建时(?)” 无法解析符号“Saved InstanceState” 无法解析方法“Set Conte

  • 我在这行有一个错误:最终用户=新用户(地址、确认密码、用户电子邮件、密码、电话号码、用户名、链接); 错误为“无法解决符号链接” 我已经删除了一些代码,如果你需要更多细节,请在下面留下评论。有人能帮忙吗?非常感谢你的帮助

  • 我不关心可综合性,我只想弄清楚如何处理带符号值的一元算术上的溢出。 如果有人能给我指明正确的方向,我会非常伟大,谢谢!

  • 一个名为专题报告的下拉框,点击下拉框后给后端发一个special_report/special_report/selectList的get请求,将获取到的数据展示在下拉框,当我第一次点击下拉框时,没有数据,之后点击数据就展示出来了,百度是因为fetch发的是异步请求,于是在fetch中添加一个Promise,但是无效,用async/await依然无效,求大佬指点!! 第一次点击: 之后点击:

  • 我想在我的项目中使用Json simple,但我无法让它工作。我试过版本1.1.0、3.1.0、3.1.3、4.0.0,每次我导入com。github。cliftonlabs。json_简单。JsonException;我有一个错误,无法解析符号“JsonException”,我使用InteliJ,每次我尝试一个版本时都会转到文件