1,需求:需要给input绑定一个属性validata 这个属性的值是后台传递过来的,为列表中i.validType 可能有三种1,2,3, 想把这1,2,3对应换成相应的字符,如:1->a 2->b, 3->c2,代码<input v-bind:validata="validTypeFun(i.validType)" >尝试过的办法:a,使用 filter <input v-bind:validata="i.validType | validTypeFun " >但是查了一下 https://segmentfault.com/q/10...2.0版本是不支持v-bind中使用过滤器的,2.1版本才支持。b,尝试使用方法method,没有触发事件,也不行c,尝试使用数组进行映射,<input v-bind:validata="arr[i.validType+1]" >在data 中注册arr:["a","b","c"],会报错Property or method "arr" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.求解?
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
<input v-bind:validata="arr[i.validType+1]" >
可能是arr[i.validType-1]? 而且如果i.validType是字符串的话,可能要parseInt
或者可以在请求回调中处理一下数据:
let arr = res.data.arr
arr.map(a=>{
swith(a.validType){
case '1': a.validType_EN=a
break
...
}
})
添加回答
举报
0/150
提交
取消