element ui el-select 组件设置 clearable,触发后数据类型不正确?

element ui el-select v-model的值是整型,但是当点击叉号触发clearable后,v-model的变量变成了字符串类型,也就是 ""

代码如下:
模板部分:

<el-select v-model="listQuery.condition.is_hot" placeholder="是否热门" clearable style="width: 120px" class="filter-item">
    <el-option v-for="item in isHotOptions" :key="item.k" :label="item.k" :value="item.v" />
  </el-select>
  

script:

data () {

    return {
        listQuery: {
        page: {
          page_number: 1,
          page_size: 20
        },
        condition: {
          name: '',
          is_show: null,// 这里之所以设置为null,是因为如果设置为0,那么界面上select的placeholder就不显示了,而是直接显示0
          is_hot: null,
        }
      },
    }

}
阅读 13.4k
1 个回答

这种可以直接看源码是怎么写的

handleClearClick(event) {
        this.deleteSelected(event);
      },
deleteSelected(event) {
        event.stopPropagation();
        const value = this.multiple ? [] : '';
        this.$emit('input', value);
        this.emitChange(value);
        this.visible = false;
        this.$emit('clear');
      },

确实是改成了''而不是null,要用null需要clear事件里自己写

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题