4条都有tagName吗?
因为你上面循环的数据datat应该是一个数组,你不应该循环数据依次赋值给datat,这样会造成datat的值是最后一条数据且是字符串,你应该
this.datat.push(res.result.records[i].tagName)(可能有拼写错误);
datat应该是数组 你赋值的是个字符串你直接赋值this.datat=res.result.recodes.map(item=>item.tagName) 就可以了不用循环 或者 datat先声明为数组再去push而不是赋值
let recodes = res.result.recodes;
this.arr = recodes; // arr 数组[]
<el-option
v-for="item in arr"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>