我正在研究客户服务 ABM。对于用户搜索,我使用 Vue Select 过滤并选择正确的客户... Vue Select 从我的客户 api 获取客户列表,然后我将数据提取到 vue select 中。用户可以过滤以获得正确的客户...
我需要知道的是当我想“编辑”服务时如何分配选定的客户端。当用户按下“服务编辑”时,模式在编辑模式下打开,它对“/service/{id}”进行 api 调用以获取服务信息。带有所有服务信息和客户 ID 的服务响应......问题是,如果我把它设置为默认选择......
这是我的 vuejs 信息:
我的 searchCustomers 函数,将数据提取到“选项”中:
searchCustomers(search){
let searchVal = search.split(' ').join('+');
axios.get('api/customer?nomina=&filter=' + searchVal)
.then((response) => {
this.options = response.data['data'];
})
.catch(function (error) {
console.log(error);
})
},
新的服务模式,从 api 获取数据:
newEditServiceModal(id){
this.editMode = true;
this.$Progress.start();
this.service.clear();
this.service.reset();
axios.get('api/service/' + id)
.then((data) => {
this.service.fill(data.data)
})
.catch(() => {
this.$Progress.fail();
})
$('#serviceModal').modal('show');
},
最后是我的 v-select 组件:
<v-select
:options="options"
@search="searchCustomers"
:filterable="false"
v-model="service.id_customers"
:class="{ 'is-invalid': service.errors.has('customer.id') }"
>
<template
slot="no-options"
>
Buscar un cliente...
</template>
<template
slot="option"
slot-scope="option"
>
<div class="d-center">
{{ option.id + ' - ' + option.name }}
</div>
</template>
<template
slot="selected-option"
slot-scope="option"
:value="option.id"
v-model="service.id_customers"
>
<div class="selected d-center">
{{ option.id + ' - ' + option.name }}
</div>
</template>
</v-select>
传递 id 并将正确的客户分配给 v-form 的正确方法是什么?