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">
|
<script lang="ts">
|
||||||
import { defineComponent } from 'vue';
|
import { defineComponent } from 'vue';
|
||||||
|
import type { HttpRequestConfig } from '@/types/HttpRequestConfig';
|
||||||
import InputElement from '@/components/InputElement.vue';
|
import InputElement from '@/components/InputElement.vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
props: {
|
props: { 'modelValue': Object as () => HttpRequestConfig },
|
||||||
'cfg': { type: Object, required: true }
|
computed: {
|
||||||
|
cfg: {
|
||||||
|
get(): HttpRequestConfig {
|
||||||
|
return this.modelValue || {} as HttpRequestConfig;
|
||||||
|
},
|
||||||
|
set(newValue: HttpRequestConfig): void {
|
||||||
|
this.$emit('update:modelValue', newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
InputElement
|
InputElement
|
||||||
|
|||||||
@ -143,7 +143,7 @@
|
|||||||
|
|
||||||
<div v-if="httpJson.enabled">
|
<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')"
|
<InputElement :label="$t('powermeteradmin.valueJsonPath')"
|
||||||
v-model="httpJson.json_path"
|
v-model="httpJson.json_path"
|
||||||
@ -204,7 +204,7 @@
|
|||||||
:postfix="$t('powermeteradmin.seconds')"
|
:postfix="$t('powermeteradmin.seconds')"
|
||||||
wide />
|
wide />
|
||||||
|
|
||||||
<HttpRequestSettings :cfg="powerMeterConfigList.http_sml.http_request" />
|
<HttpRequestSettings v-model="powerMeterConfigList.http_sml.http_request" />
|
||||||
</CardElement>
|
</CardElement>
|
||||||
|
|
||||||
<CardElement
|
<CardElement
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user