Просмотр исходного кода

fix(trigger): handle trigger noData

lind 3 лет назад
Родитель
Сommit
b49555d033

+ 2 - 0
src/pages/device/components/Metadata/Base/Edit/index.tsx

@@ -705,6 +705,8 @@ const Edit = observer((props: Props) => {
                   type: 'void',
                   'x-component': 'Editable.Popover',
                   title: '指标数据',
+                  'x-reactions':
+                    '{{(field)=>field.title=field.value&& field.value.name||field.title}}',
                   properties: {
                     id: {
                       // 标识

+ 4 - 1
src/pages/rule-engine/Scene/TriggerTerm/index.tsx

@@ -231,7 +231,9 @@ const TriggerTerm = (props: Props, ref: any) => {
   useImperativeHandle(ref, () => ({
     getTriggerForm: async () => {
       await form.validate();
+
       const data: any = await form.submit().then((_data: any) => {
+        if (!Array.isArray(_data.trigger)) return;
         _data.trigger?.map((item: { terms: any[] }) =>
           item.terms.map((j) => {
             if (j.value.value.length === 1) {
@@ -242,7 +244,8 @@ const TriggerTerm = (props: Props, ref: any) => {
         );
         return _data;
       });
-      return data;
+      console.log(Array.isArray(data?.trigger) ? data : undefined, 'fff');
+      return Array.isArray(data?.trigger) ? data : undefined;
     },
   }));
   const SchemaField = createSchemaField({