问题场景: 根据需求开发的一个搜索title切换,值根据输入的变化,问题是在开发的时候,切换的效果是有了,商品ID是只支持输入数字的,这就导致,选择了商品ID之能输入数字后,在切换到商品名称的时候,只能输入数字的限制依然存在,我无法在输入框中输入汉字或者英文等。
原因: 组件存在缓存
方法: 添加key 唯一标识
<div class="saerch-item">
<el-select
v-model="goodsType"
@change="changeGoodsType"
clearable
style="width:100px;margin-right:5px"
placeholder="请选择"
size="mini"
>
<el-option label="商品名称" :value="1"></el-option>
<el-option label="商品条码" :value="4"></el-option>
<el-option label="商品标识" :value="3"></el-option>
<el-option label="商品ID" :value="2"></el-option>
<!-- <el-option label="活动编码" :value="3"></el-option> -->
</el-select>
<el-input
v-if="goodsType==2"
:key="Date.parse(new Date())"
style="width:220px"
clearable
v-model="value"
size="mini"
:maxlength="19"
placeholder="请输入商品ID,只能输入数字"
v-enter-number
show-word-limit
@keyup.enter.native="doSearch"
></el-input>
<el-input
v-else
:key="Date.parse(new Date())"
style="width:220px"
clearable
v-model="value"
size="mini"
:maxlength="goodsType == 3 ? '200':100"
:placeholder="'请输入' + (goodsType == 1 ? '商品名称' : goodsType==3? '商品标识':'商品条码')"
show-word-limit
@keyup.enter.native="doSearch"
></el-input>
</div>