项目场景:
在修改项目bug时,发现后端响应到前端的值,通过@change事件调用方法,在方法中拿到值时,有部分数据丢失。
问题描述
后端传到前端的值为:字符串类型的"00000089",@change调用的方法中,拿到这个值时,变为了89。
错误代码:
html
<el-from-item prop="insured">
<el-checkbox-group v-model="dto.insured">
<% for(item in vo.insured) { %>
<el-checkbox label="${item.name}" @change = "inChange(${item.no})"> </el-checkbox>
<% } %>
</el-checkbox-group >
</el-from-item>
<script type="text/javascript">
inChange : function(val){
console.log("res:" , val);
}
</script>
原因分析:
后端传到前端的值为:字符串类型的"00000089",但是传递@change事件中,元素类型发生了改变,变为数字类型,传递到方法中就变为了数字类型的89。
解决方案:
直接上代码:
html
<el-from-item prop="insured">
<el-checkbox-group v-model="dto.insured">
<% for(item in vo.insured) { %>
<el-checkbox label="${item.name}" name="${item.no}" @change = "inChange"> </el-checkbox>
<% } %>
</el-checkbox-group >
</el-from-item>
<script type="text/javascript">
inChange : function(val, e){
console.log("res:" , e.target.name);
}
</script>