背景分析:
使用 el-select 组件选择职位标签(职位标签数据来源为已选择职位类别下的职位标签);于是我使用了@focus事件获取当前职位类别下的职位标签。如下图:
js:
/*选择职位标签*/
checkPositionTag() {
let _this = this;
if (_this.positionForm.tag) {
let _param = {
pid: _this.positionForm.tag
};
ajaxPost(_param, 'api?operate=normal.job.industry_label', function (res) {
if (res.data) {
_this.tagList = res.data.child;
} else {
layer.msg("暂无标签可选");
}
});
} else {
layer.msg("请先选择职位类别");
}
}
数据回显的时候赋值给 positionForm.tag_label 即可。(数据类型一致,不一致时需要转为一致:同为number或者string类型)
正常情况下,以上步骤即可正确回显数据,但还是是回显了id。。。。。。。。。。。。。。。
在折腾了好几天之后,才突然想到要能回显中文才奇了怪了,唉呀妈呀
@focus事件是组件聚焦时才执行的事件,也就是说现在回显的只是后台返回的数组,虽然绑定了,没有拿到真正的接口数据之前这个回显的数据是没有和中文匹配起来的!!!!
于是乎:
判断是否有类别id,有的话马上获取对应的职位标签,,完美撒花。