使用 vue + vuex + axios
代码如下:
let sexList = [// store 里的数据
{
code: 0,
sexText: '女',
},
{
code: 1,
sexText: '男',
}
]
let clientList = [// index 页面里的数据
{
name: '杨过',
sexCode: 1,
},
{
name: '小龙女',
sexCode: 0,
}
]
mounted() {
this.$store.dispatch('getSexList')// 获取性别列表
getClientList({data: 'clients'}).then((res) => {
if(res.data.success) {
this.clientList = res.data.data// 获取客户数据
}else {
this.$message.error(res.data.message)
}
}).catch((err) => {
console.log(err)
})
},
watch: {
clientList(val) {// 监听客户数据,遍历对比 sexList 的 sexCode,放到客户列表里
if(val && val.length > 0) {
val.map((item) {
this.$store.getters.sexList.map((sex_item) => {
if(sex_item.sexCode == item.sexCode) {
item.sexText = sex_item.sexText
}
})
})
}
},
}
页面进入的时候并不能实现我想要的效果:监听客户数据 clientList,遍历对比 store 里的 sexList 的 sexCode,把性别 sexText 放到客户列表里
请问一下该怎么解决这个异步的问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.