From f46786f11c5c08ead7501a82e5a71430ad69b782 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期日, 27 四月 2025 17:39:24 +0800
Subject: [PATCH] 修复线索问题定位错误问题

---
 components/form/form-util.js |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/components/form/form-util.js b/components/form/form-util.js
index 9286ddf..798e321 100644
--- a/components/form/form-util.js
+++ b/components/form/form-util.js
@@ -2,8 +2,8 @@
  * 鐢熸垚涓�鏉¤〃鍗曟潯鐩�
  * @param {String} _label 鏍囩鍚嶇О
  * @param {String} _name 瀛楁鍚嶇О
- * @param {String} _type 杈撳叆绫诲瀷 锛坱ext: 杈撳叆妗�; switch: 鍒囨崲鎸夐挳; picker: 涓嬫媺妗嗛�夐」; cascader: 绾ц仈閫夋嫨锛�
  * @param {Boolean} _required 鏄惁涓哄繀濉」
+ * @param {String} _type 杈撳叆绫诲瀷 锛坱ext: 杈撳叆妗�; textarea: 澶氳杈撳叆妗�; switch: 鍒囨崲鎸夐挳; picker: 涓嬫媺妗嗛�夐」; cascader: 绾ц仈閫夋嫨锛�
  * @param {Array} _options 褰撹緭鍏ョ被鍨嬩负picker鎴朿ascader鏃讹紝鎻愪緵鍙�夐」
  * @param {Array} cascaderTitles 褰撹緭鍏ョ被鍨嬩负cascader鏃讹紝鎻愪緵姣忓眰閫夐」鐨勬爣棰�
  * @param {Array} referItems 褰撹緭鍏ョ被鍨嬩负cascader鏃讹紝鎻愪緵鍏宠仈鐨勫睘鎬ame
@@ -20,7 +20,7 @@
   return {
     required: _required,
     label: _label,
-    placeholder: (_type == 'text' ? '璇疯緭鍏�' : '璇烽�夋嫨') + _label,
+    placeholder: (_type == 'text' || _type == 'textarea' ? '璇疯緭鍏�' : '璇烽�夋嫨') + _label,
     name: _name,
     value: null,
     status: 'success',
@@ -50,23 +50,27 @@
  * @param {Object} defaultValue 鍒濆鏁版嵁
  */
 function setDefaultValue(items, defaultValue) {
-  if (typeof defaultValue === 'object') {
+  if (defaultValue && typeof defaultValue === 'object') {
     items.forEach(e => {
       // 鏂囨湰鍜屽紑鍏崇被鍨嬬洿鎺ヨ祴鍊�
-      if (e.inputType == 'text' || e.inputType == 'switch') {
+      if (e.inputType == 'text' || e.inputType == 'switch' || e.inputType == 'textarea') {
         if (defaultValue.hasOwnProperty(e.name)) {
           e.value = defaultValue[e.name];
         }
       }
       // 涓嬫媺妗嗛櫎浜嗚祴鍊硷紝闇�瑕侀澶栬祴鍊煎睘鎬value(鏁扮粍绫诲瀷锛岀粍浠秚-picker鐨勭壒鎬�)
       else if (e.inputType == 'picker') {
-        if (defaultValue.hasOwnProperty(e.name)) {
+        if (
+          defaultValue.hasOwnProperty(e.name) &&
+          defaultValue[e.name] != null &&
+          defaultValue[e.name] != undefined
+        ) {
           e.value = defaultValue[e.name] + '';
           e._value = [e.value];
-          const op = e.options.find(o=>{
-            return o.value == e.value
-          })
-          e._label = op.label
+          const op = e.options.find(o => {
+            return o.value == e.value;
+          });
+          e._label = op.label;
         }
       }
       // 绾ц仈閫夋嫨鍣紝鏍规嵁灞炴�eferItems鎵惧埌瀵瑰簲鐨勫垵濮嬫暟鎹�
@@ -76,7 +80,11 @@
           note,
           options = e.options;
         e.referItems.forEach(r => {
-          if (defaultValue.hasOwnProperty(r)) {
+          if (
+            defaultValue.hasOwnProperty(r) &&
+            defaultValue[r] != null &&
+            defaultValue[r] != undefined
+          ) {
             const o = options.find(v => {
               return v.value == defaultValue[r];
             });

--
Gitblit v1.9.3