diff --git a/public/app/core/components/TraceToMetrics/TraceToMetricsSettings.tsx b/public/app/core/components/TraceToMetrics/TraceToMetricsSettings.tsx index eb7283c7fe3e..a5fdc088962a 100644 --- a/public/app/core/components/TraceToMetrics/TraceToMetricsSettings.tsx +++ b/public/app/core/components/TraceToMetrics/TraceToMetricsSettings.tsx @@ -135,8 +135,11 @@ export function TraceToMetricsSettings({ options, onOptionsChange }: Props) { value={query.name} width={40} onChange={(e) => { - let newQueries = options.jsonData.tracesToMetrics?.queries.slice() ?? []; - newQueries[i].name = e.currentTarget.value; + const newQueries = (options.jsonData.tracesToMetrics?.queries ?? []).map( + (traceToMetricQuery, index) => { + return index === i ? { ...traceToMetricQuery, name: e.currentTarget.value } : traceToMetricQuery; + } + ); updateDatasourcePluginJsonDataOption({ onOptionsChange, options }, 'tracesToMetrics', { ...options.jsonData.tracesToMetrics, queries: newQueries, @@ -175,8 +178,7 @@ export function TraceToMetricsSettings({ options, onOptionsChange }: Props) { icon="times" type="button" onClick={() => { - let newQueries = options.jsonData.tracesToMetrics?.queries.slice(); - newQueries?.splice(i, 1); + const newQueries = options.jsonData.tracesToMetrics?.queries.filter((_, index) => index !== i); updateDatasourcePluginJsonDataOption({ onOptionsChange, options }, 'tracesToMetrics', { ...options.jsonData.tracesToMetrics, queries: newQueries,