From f8f02c63ab287df62f1e4f36f2e50dd413f19db1 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 2 Jun 2026 17:26:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=BA=20data=5Ffilter=20code=20?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=AD=97=E6=AE=B5=E6=B7=BB=E5=8A=A0=E7=A9=BA?= =?UTF-8?q?=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 检查已有空选项避免重复 - 始终注入空选项确保可清空筛选 --- bricks/dataviewer.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/bricks/dataviewer.js b/bricks/dataviewer.js index e8f4a0d..bc9f6b1 100644 --- a/bricks/dataviewer.js +++ b/bricks/dataviewer.js @@ -294,8 +294,16 @@ bricks.DataViewer = class extends bricks.VBox { }; if (alter.uitype === 'code'){ f.uitype = 'code'; + f.data = []; + // 检查是否已有空选项 + var hasEmpty = alter.data && alter.data.some(d => + d.value === '' || d.value === null || d.value === undefined + ); + if (!hasEmpty) { + f.data.push({value: '', text: ''}); + } if (alter.data && Array.isArray(alter.data)){ - f.data = alter.data; + f.data = f.data.concat(alter.data); } if (alter.dataurl){ f.dataurl = alter.dataurl; @@ -307,7 +315,15 @@ bricks.DataViewer = class extends bricks.VBox { } } else if (alter.uitype === 'select' && alter.options){ f.uitype = 'code'; - f.data = alter.options; + f.data = []; + // 检查是否已有空选项 + var hasEmpty = alter.options && alter.options.some(d => + d.value === '' || d.value === null || d.value === undefined + ); + if (!hasEmpty) { + f.data.push({value: '', text: ''}); + } + f.data = f.data.concat(alter.options); } else { f.uitype = 'str'; }