HTTP request config component: do not mutate prop
use an event-driven mutation scheme, i.e., adapt the common v-model approach to bind data to the child component.
This commit is contained in:
parent
6b19b877c6
commit
9911dec279
@ -63,11 +63,20 @@
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent } from 'vue';
|
||||
import type { HttpRequestConfig } from '@/types/HttpRequestConfig';
|
||||
import InputElement from '@/components/InputElement.vue';
|
||||
|
||||
export default defineComponent({
|
||||
props: {
|
||||
'cfg': { type: Object, required: true }
|
||||
props: { 'modelValue': Object as () => HttpRequestConfig },
|
||||
computed: {
|
||||
cfg: {
|
||||
get(): HttpRequestConfig {
|
||||
return this.modelValue || {} as HttpRequestConfig;
|
||||
},
|
||||
set(newValue: HttpRequestConfig): void {
|
||||
this.$emit('update:modelValue', newValue);
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
InputElement
|
||||
|
||||
@ -143,7 +143,7 @@
|
||||
|
||||
<div v-if="httpJson.enabled">
|
||||
|
||||
<HttpRequestSettings :cfg="httpJson.http_request" v-if="index == 0 || powerMeterConfigList.http_json.individual_requests"/>
|
||||
<HttpRequestSettings v-model="httpJson.http_request" v-if="index == 0 || powerMeterConfigList.http_json.individual_requests"/>
|
||||
|
||||
<InputElement :label="$t('powermeteradmin.valueJsonPath')"
|
||||
v-model="httpJson.json_path"
|
||||
@ -204,7 +204,7 @@
|
||||
:postfix="$t('powermeteradmin.seconds')"
|
||||
wide />
|
||||
|
||||
<HttpRequestSettings :cfg="powerMeterConfigList.http_sml.http_request" />
|
||||
<HttpRequestSettings v-model="powerMeterConfigList.http_sml.http_request" />
|
||||
</CardElement>
|
||||
|
||||
<CardElement
|
||||
|
||||
Loading…
Reference in New Issue
Block a user