最近在写一个行业管理系统,遇到一个问题,后台返回一个字段是状态值,渲染到前端是文字,所以要将state转成对应的type,而且在多个页面用到这个字段,一般我们是用state到switch去匹配对应文字,这里我们用组件的方式存状态值对应的文字,然后写一个方法去调用就可以了
Global.vue
<template>
</template>
<script type="text/javascript">
const pay_model =[
{ state: '1',type:'现金'},
{ state: '2',type:'支付宝'},
{ state: '3',type:'微信'},
],
const yuyue = [
{ state: '1',type:'是'},
{ state: '2',type:'不是'},
{ state: '0',type:'未知'},
]
function getStateName (state, arr) {
for(var i = 0;i<arr.length;i++){
if(arr[i].state === state){
return arr[i].type
}
}
}
export default{
pay_model ,
yuyue ,
getStateName
}
</script>
<style>
</style>
使用就和组件使用方式一样
<template>
<div>
<ul>
<li v-for='item in lis'>{{item.type}}</li>
</ui>
<span>{{content}}</span>
</div>
</template>
<script>
import global_ from './Global.vue'
export default{
data(){
return {
lis :global_.pay_model,
content: ''
}
},
created(){
var c = 1
this.content = global_.getStateName(c,global_.pay_model)
}
}
</script>
网友评论