From 4b98a70ee8de6ccf0e1a86fbd83c65985f8bc5e3 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 30 Mar 2021 02:15:08 +0200 Subject: [PATCH] Fix rendering when selecting all in datatable (#8749) Fixes #8619 --- src/components/data-table/ha-data-table.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/data-table/ha-data-table.ts b/src/components/data-table/ha-data-table.ts index 26b015f895..3230ede7f4 100644 --- a/src/components/data-table/ha-data-table.ts +++ b/src/components/data-table/ha-data-table.ts @@ -132,7 +132,7 @@ export class HaDataTable extends LitElement { @query("slot[name='header']") private _header!: HTMLSlotElement; - private _items: DataTableRowData[] = []; + @internalProperty() private _items: DataTableRowData[] = []; private _checkableRowsCount?: number; @@ -160,9 +160,9 @@ export class HaDataTable extends LitElement { public connectedCallback() { super.connectedCallback(); - if (this._filteredData.length) { + if (this._items.length) { // Force update of location of rows - this._filteredData = [...this._filteredData]; + this._items = [...this._items]; } } @@ -550,7 +550,9 @@ export class HaDataTable extends LitElement { private _checkedRowsChanged() { // force scroller to update, change it's items - this._filteredData = [...this._filteredData]; + if (this._items.length) { + this._items = [...this._items]; + } fireEvent(this, "selection-changed", { value: this._checkedRows, });