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

vue.js - elementui的el-select点击clearable后value默认会为空字符串,如何全局修改成为null?

费明诚
2023-05-19
<template>
  <div>
    value:{{ JSON.stringify(value) }}
    <el-select v-model="value" clearable placeholder="请选择">
      <el-option
        v-for="item in options"
        :key="item.value"
        :label="item.label"
        :value="item.value">
      </el-option>
    </el-select>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        options: [{
          value: '选项1',
          label: '黄金糕'
        }, {
          value: '选项2',
          label: '双皮奶'
        }, {
          value: '选项3',
          label: '蚵仔煎'
        }],
        value: null
      }
    }
  }
</script>

elementui的el-select点击clearable后value默认会为空字符串,并不是我默认设置的null,我可以通过@clear来改变value的值,但是我的项目已经非常庞大,牵扯的页面有很多,怎么在影响页面最小的情况下,全局去更改呢?

共有2个答案

呼延骏俊
2023-05-19

执行这段代码就行

    this.$options.components.ElSelect.options.methods.deleteSelected =
      function deleteSelected(event) {
        event.stopPropagation();
        // 改动在这,原始的是这样  var value = this.multiple ? [] : '';   
        var value = this.multiple ? [] : null;   
        this.$emit("input", value);
        this.emitChange(value);
        this.visible = false;
        this.$emit("clear");
      };

是否会引发bug ,你自己测一下,我只是简单看了一下

梁丘柏
2023-05-19

我不感觉这是一个问题呀,你完全没必要去让他全变成null吧?你为什么会有这样的需求?你的项目每个页面的逻辑都是独立的,而且你判断时""和null的判断几乎是一样的。

 类似资料:
  • 问题内容: 是否可以通过SQL语句确保列的默认值为空字符串而不是? 问题答案: 是-使用DEFAULT约束:

  • 问题内容: 是否可以通过SQL语句确保列的默认值为空字符串而不是? 问题答案: 是-使用DEFAULT约束:

  • 问题内容: 区别在于我无法将注释添加到package- info.java,因为我们的所有JAXB类型都是从每次构建的模式中生成的。如果可能的话,我也更愿意不更改JAXB提供程序。 我想要实现的是设置一个空的String不会创建该元素,但是我需要为从许多模式中生成的所有JAXB类型设置它。有没有办法将其应用于所有生成的JAXB类中的所有String字段? 更新 我已经通过进行以下更改来设法为模式中

  • 1、vue3中如何全局修改覆盖掉element-plus组件的默认属性? 2、全局修改element-plus ElInput组件的clearable属性为true,会影响到基于ElInput组件封装的其他组件的clearable属性,比如ElSelect、ElPagination组件,会导致ElPagination组件出现以下的情况。

  • 我的问题非常类似于当字符串为空但不为null时如何防止在JAXB中编组空标记 区别在于我无法将注释添加到包信息。java作为我们所有的JAXB类型都是从每个构建的模式中生成的。如果可能的话,我也不希望更改JAXB提供程序。 我想要实现的是,设置空字符串不会创建元素,但我需要为许多模式中生成的所有JAXB类型设置此值。有没有办法将其应用于所有生成的JAXB类中的所有字符串字段? 更新我已通过以下更改

  • 本文向大家介绍elementui的默认样式修改方法,包括了elementui的默认样式修改方法的使用技巧和注意事项,需要的朋友参考一下 今天用element ui ,做了个消息提示,发现提示的位置总是在上面,如图: 可是我想让提示的位置到下面来,该怎么办? 最后还是看了官方的api 原来有个自定义样式属性 customClass 设置下就好了 js代码 css代码 效果图 以上这篇elementu