在element UI的下拉多选框里如何实现禁用默认值和不可删除默认值

这篇具有很好参考价值的文章主要介绍了在element UI的下拉多选框里如何实现禁用默认值和不可删除默认值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在element UI的下拉多选框里如何实现禁用默认值和不可删除默认值,ui,javascript,前端,vue

 移动到默认值上会变成禁用的图标,点击没有反应。

在做到默认值不能删除这部分时,我看大部分都是在main,js里定义一个自定义指令,我没有用自定义指令,可以说我的方法非常原始?就是笨办法吧,下面是我的解决方法。

1、首先,肯定要在data里定义一个数组,专门存放默认值,

 clone_material_ids: [],

2、在请求成功后把返回的值克隆,也就是给到这个数组

  this.clone_material_ids = this.summaryForm.material_ids

3、这是我的页面布局代码,我在这里加了 @remove-tag="removeTag"实现默认值不可删除

:disabled="isDisabled(option.materialId)"默认值在下拉框中是禁用的

 <el-form-item label="选择物料" :rules="[{ required: true, message: '请选择物料', 
              trigger: 'blur' },]">
       <el-select v-model="updateForm.material_ids" placeholder="请选择物料" multiple 
                  filterable style="width: 100%;"
                  @remove-tag="removeTag" >
           <el-option v-for="option in materialList" :key="option.materialId" 
                     :label="option.materialName"
                     :value="option.materialId" :disabled="isDisabled(option.materialId)">
           </el-option>
         </el-select>
  </el-form-item>

4、是否为默认值,true则禁用

 isDisabled(val) {
      return this.clone_material_ids.includes(val)
    },

5、默认值不可删除,我实现的思路是点击删除时,把默认值在加到默认值对应的位置上,就是可已在判断是默认选项后,拿到该值在备份数组中的下标,然后将该值,插入到你v-model绑定的数组中,注意是插入,不是覆盖。还可以加一个message进行提示

 removeTag(val) {
      if (this.clone_material_ids.includes(val)) {
        let defaultIndex = this.clone_material_ids.indexOf(val) // 获取默认值在数组中的下标
        this.updateForm.material_ids.splice(defaultIndex, 0, val) // 将要删除的值插入到默认值对应的下标位置
        // this.updateForm.material_ids.push(val)
        return false
      } else {
        return true
      }
    },

我一开始用的// this.updateForm.material_ids.push(val)这个,因为刚写没有思路,这个也可以实现默认值不可删除的效果,位置是不可控的。

以上是我个人在做实际项目中遇到的问题,我的实际开发经验也才3个月,可能或许实现的方式有些不好,希望能对大家有所帮助,当然,如果有大佬有更好的实现方式,希望可以交流指正,我目前只掌握了这种实现方式。文章来源地址https://www.toymoban.com/news/detail-690161.html

到了这里,关于在element UI的下拉多选框里如何实现禁用默认值和不可删除默认值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element-ui el-table表格勾选框条件禁用,及全勾选按钮禁用, 记录

    表格的部分内容是可以被勾选的,部分内容是不可以被勾选的 使用的是 “element-plus”: “^2.2.22”, 以上应该都是兼容的 要求el-table表格中,部分内容不可以被勾选,全选框在没有可选内容时,是禁用状态 如上图所示,要求数据id是1或者2的数据不可被选择,当数据只剩下id为

    2024年01月22日
    浏览(55)
  • element-ui框架复选框全选功能简单实现

    效果图:   html: data绑定的数据   checkAll: false,   isALL: false, // 全选框是否在勾选状态   tableData: [], //全部数据   bushForm: [], //选中的数据 methods方法里写: //全选的思路--判断选中的数组的长度和原数组对比,一样的话就判断全部选中 全部代码:

    2024年02月11日
    浏览(44)
  • element ui 中 Cascader 级联选择器实现 动态加载 动态禁用 入门

    实现效果 当点击的 根选项 有 子选项 时,会向后台发送请求,并且接收数据实现动态加载。 点击特殊选项时,可以禁用其他选项。 相关代码 props prop handleClassOrStudentChange

    2024年02月11日
    浏览(42)
  • Layui下拉多选框

    xmSelect文档 下载Layui第三方插件 将xmSelect插件的xm-select.js文件引入到layui中: 使用方法: HTML: JS:

    2024年02月15日
    浏览(82)
  • element UI 中的 el-tree 实现 checkbox 单选框功能,及 bus 传递参数的方法

    el-tree 单选功能 在日常项目开发中,会经常遇到,树形结构的查询方式,为了快速方便开发,常常会使用到快捷的ui组件去快速搭树形结构,这里我用的是 element ui 中的 el-tree 。第一次接触这种功能的时候也是各种网站查询,虽然也都能实现功能,但是都会有一些小问题,就

    2024年04月10日
    浏览(53)
  • element ui 多选框内嵌套单选框

    多选框内嵌套单选框

    2024年02月10日
    浏览(43)
  • element-ui 改变单选框,多选框的选中颜色

    @element-ui 改变单选框,多选框的颜色 注意 是写在less文件中,并在vue.config.js中配置

    2024年02月12日
    浏览(55)
  • element ui多选框(Checkbox 多选框、Select多选框)编辑时无法选中的解决办法

     在上面添加变更事件,然后变更事件中添加this.$forceUpdate();  强制渲染多选框的样式即可 注意: 多选框需要传数组,字符串无法正常渲染,因此表单初始化绑定的v-model需要初始化为空数组[],而编辑页面传值时如果是字符串,需要转数组:         重点就是: this.$forceUpda

    2024年02月05日
    浏览(44)
  • uni-app微信小程序——下拉多选框

    插件来自:select-cy - DCloud 插件市场  

    2024年02月11日
    浏览(51)
  • element-ui 使用自定义复选框

    为什么不使用自带复选框? 自带复选框无法确定数据来源于回填还是用户手动选择,因为回填表格复选框时只能使用toggleRowSelection方法来遍历回填,而且会触发selection-change事件,而手动添加也会触发selection-change事件,无法判断某个选中数据来源于回填还是用户手动选择。

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包