javascript - Vue input中如何对属性进行计算

查看:194
本文介绍了javascript - Vue input中如何对属性进行计算的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1,需求:需要给input绑定一个属性validata 这个属性的值是后台传递过来的,为列表中i.validType 可能有三种1,2,3, 想把这1,2,3对应换成相应的字符,如:1->a
2->b, 3->c

2,代码
<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.

求解?

解决方案

<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
        ...
    }
})

这篇关于javascript - Vue input中如何对属性进行计算的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆