Skip to content

Commit 9645a12

Browse files
authored
feat(Chart): add RemoveDataset instance method (#873)
1 parent 8218f0b commit 9645a12

1 file changed

Lines changed: 37 additions & 2 deletions

File tree

src/components/BootstrapBlazor.Chart/Components/Chart/Chart.razor.cs

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ public async Task AddDataset(ChartDataset dataset, int? index = null)
238238
}
239239

240240
/// <summary>
241-
/// 删除数据集
241+
/// 根据索引删除数据集
242242
/// </summary>
243243
/// <param name="index"></param>
244244
/// <returns></returns>
@@ -256,8 +256,43 @@ public async Task RemoveDatasetAt(int index)
256256
if (_ds != null)
257257
{
258258
_ds.Data.RemoveAt(index);
259+
260+
await UpdateDataset(_ds);
259261
}
260-
await InvokeVoidAsync("update", Id, _ds, ChartAction.RemoveDataset.ToDescriptionString());
262+
}
263+
264+
/// <summary>
265+
/// 根据标签名称删除数据集
266+
/// </summary>
267+
/// <param name="name"></param>
268+
/// <param name="comparison"></param>
269+
/// <returns></returns>
270+
public async Task RemoveDataset(string name, StringComparison comparison = StringComparison.OrdinalIgnoreCase)
271+
{
272+
if (_ds == null)
273+
{
274+
if (OnInitAsync != null)
275+
{
276+
_ds = await OnInitAsync();
277+
UpdateOptions(_ds);
278+
}
279+
}
280+
281+
if (_ds != null)
282+
{
283+
var data = _ds.Data.Find(i => i.Label?.Equals(name, comparison) ?? false);
284+
if (data != null)
285+
{
286+
_ds.Data.Remove(data);
287+
}
288+
289+
await UpdateDataset(_ds);
290+
}
291+
}
292+
293+
private async Task UpdateDataset(ChartDataSource dataSource)
294+
{
295+
await InvokeVoidAsync("update", Id, dataSource, ChartAction.RemoveDataset.ToDescriptionString());
261296

262297
if (OnAfterUpdateAsync != null)
263298
{

0 commit comments

Comments
 (0)