Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Anonymous
Not applicable

How to delete SVG-Elements after removing Field?

Hi Folks,

 

Like the title says I have some elements which renders fine, when adding the corresponding field.

 

My problem is now, if I remove those fields, the svg elements in the reports won't delete, they stay!

 

First I check if there is any value in the corresponding field, if yes i render the lines as follow:

let upperValues = this.upperLimit
                .selectAll(".line")
                .data(viewModelUpper.dataPoints)
                .join("line")
                .classed("line", true);


            upperValues.attr("x1", d => xScale(d.category) + (this.settin.axis.x.padding / 2) - (upperWidth / 2))
                .attr("y1", d => yScale(d.upperLimit))
                .attr("x2", d => xScale(d.category) + (this.settin.axis.x.padding / 2) + (upperWidth / 2))
                .attr("y2", d => yScale(d.upperLimit))
                .attr("stroke-width", upperThickness)
                .attr("stroke", upperLineColor);

But if I remove the corresponding field, the lines won't delete. Is there a function on how to delete those, and still being able to redraw it later?

 

 

Thansk in advance for your help!

 

1 ACCEPTED SOLUTION
paul-maessen
Resolver I
Resolver I

@Anonymous 

 

I am not sure about the rest of your code, but you could use the d3-method to remove a selection.

If you detect that the fields are removed and the lines have to be removed you can use:

 

this.upperLimit.selectAll(".line").remove();

 

Not sure if you are looking for this...

 

Regards

 

Paul 

View solution in original post

1 REPLY 1
paul-maessen
Resolver I
Resolver I

@Anonymous 

 

I am not sure about the rest of your code, but you could use the d3-method to remove a selection.

If you detect that the fields are removed and the lines have to be removed you can use:

 

this.upperLimit.selectAll(".line").remove();

 

Not sure if you are looking for this...

 

Regards

 

Paul 

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors