From 3b8dd3d68f4515ca7b9756c356f353cba5b8135c Mon Sep 17 00:00:00 2001 From: zsmj Date: Thu, 9 Jun 2022 17:12:50 +0800 Subject: [PATCH] =?UTF-8?q?BI-107309=20fix:=20=E3=80=906.0=E8=BF=AD?= =?UTF-8?q?=E4=BB=A3=E3=80=91=E6=9D=A5=E6=BA=90=E8=A1=A8=E6=98=AF=E6=9C=AA?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=B0=E6=9C=80=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E8=87=AA=E5=8A=A9=E6=95=B0=E6=8D=AE=E9=9B=86=EF=BC=8C?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=95=B0=E6=8D=AE=E9=87=8F=E7=81=B0=E5=8C=96?= =?UTF-8?q?=E7=9A=84tooltip=E6=8F=90=E7=A4=BA=E4=B8=8D=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当disabled的时候, tipType属性永远是warning,但是并不能解决所有场景. 先标红再setEnable的场景覆盖不到 根源还在与这个自动挡标红的实现方案和single组件disabled之后自动变成warning冲突 --- .../combo/textvaluecombo/combo.textvalue.js | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/case/combo/textvaluecombo/combo.textvalue.js b/src/case/combo/textvaluecombo/combo.textvalue.js index 7c8d90f62..9dc81b5be 100644 --- a/src/case/combo/textvaluecombo/combo.textvalue.js +++ b/src/case/combo/textvaluecombo/combo.textvalue.js @@ -83,25 +83,22 @@ BI.TextValueCombo = BI.inherit(BI.Widget, { }, _checkError: function (v) { - if (BI.isNull(v) || BI.isEmptyArray(v) || BI.isEmptyString(v)) { - this.trigger.options.tipType = "success"; + v = BI.isArray(v) ? v[0] : v; + var tipType = null; + var result = BI.find(this.options.items, function (idx, item) { + return v === item.value; + }); + if (BI.isNull(result)) { + if (this.isEnabled()) { + tipType = "warning"; + } + this.element.addClass("error"); + this.trigger.element.addClass("error"); + } else { this.element.removeClass("error"); this.trigger.element.removeClass("error"); - } else { - v = BI.isArray(v) ? v : [v]; - var result = BI.find(this.options.items, function (idx, item) { - return BI.contains(v, item.value); - }); - if (BI.isNull(result)) { - this.trigger.setTipType("warning"); - this.element.addClass("error"); - this.trigger.element.addClass("error"); - } else { - this.trigger.setTipType("success"); - this.element.removeClass("error"); - this.trigger.element.removeClass("error"); - } } + this.trigger.setTipType(tipType); }, setValue: function (v) {