element +.net core Api解决 el-select clearable 清空后数据为空串导致模型绑定失败

element 看源码是这样的

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 ,就需要自己写 clear 事件。

即便是写了 clear 事件,其 clear 事件触发也在change事件之后。

<el-select filterable v-model="value" @clear="clearValue" clearable>
    <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
 
 
methods: {
    clearValue(val) {
        this.value = null;
    },
}

 

 

 element-plus 中,可以使用下述代码:

                    <el-select
                      v-model="form.usePlaceId"
                      @clear="form.usePlaceId = undefined"
                      clearable
                      placeholder="请选择使用地"
                      filterable
                      :disabled="form.assetId > 0 ? true : false">
                      <el-option v-for="item in usePlaceList" :label="item.placeName" :key="item.usePlaceId" :value="item.usePlaceId"></el-option>
                    </el-select>

 

注意:在 .net core webApi 中 int 、long 类型如果前端传递的值为空字符串,那绑定模型肯定会为空。会进入下述截图上的方法里面。

 

 

 

解决方式:前端下拉选项值为 number 类型的数据,添加了clearable 属性的el-select el-tree-select 必须要 添加事件处理 @clear="form.xxx= undefined"

 

版权声明:本文为CSDN博主「wangooo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangooo/article/details/120527425

 

posted @ 2022-06-17 15:13  浅巷深念  阅读(1233)  评论(0编辑  收藏  举报