【发布时间】:2021-08-23 16:22:51
【问题描述】:
我有一个带有Form Select BootstrapVue 组件的简单 vue.js 程序。
<template>
<b-card title="Select Service:" style="max-width: 30rem;">
<div>
<b-form-select v-model="pdServiceName"
class="mb"
size="sm"
:options="pdServiceNameList"
@change="setService">
<template #first>
<b-form-select-option :value="null" disabled>
-- Please select a PD service --
</b-form-select-option>
</template>
</b-form-select>
</div>
</b-card>
</template>
<script>
import pdServiceData from '@/service/pd/pdSrvcData';
var vm = new Vue({
data: {
pdServiceName: null,
pdServiceKey: null,
},
computed: {
pdServiceNameList: () => pdServiceData.map((a) => a.service),
},
methods: {
setService() {
console.log(this.pdServiceName);
console.log(pdServiceData.find((x) => x.service === this.pdServiceName).key);
this.pdServiceKey = pdServiceData.find((x) => x.service === this.pdServiceName).key;
},
}
});
</script>
pdSrvcData.js:
const pdServiceData = [
{ service: 'srvc_telemetry_staging_alarm', key: 'P6RHJHY' },
{ service: 'srvc_telemetry_wwe_staging_alarm', key: 'PI2UID2' },
];
export { pdServiceData as default };
当我从Form Select组件中选择选项时,会触发setService()方法,但是我发现pdServiceKey计算出来的会出错,而如果我同时将值打印到控制台,打印输出将是正确的:
有人知道为什么会这样吗?
【问题讨论】:
标签: javascript vue.js vuejs2 dom-events bootstrap-vue