hanxiaohui 4 сар өмнө
parent
commit
6a07a36495

+ 17 - 2
src/components/BsUi/Empty/index.vue

@@ -1,3 +1,18 @@
 <template>
-  <a-empty />
-</template>
+  <a-empty>
+    <template #image>
+      <img src="/@/components/BsUi/Images/empty.png" alt="" v-if="!$slots.image" />
+      <slot v-else name="image"></slot>
+    </template>
+
+    <template #description>
+      <slot name="description" />
+    </template>
+  </a-empty>
+</template>
+
+<script setup>
+  import { useSlots } from 'vue';
+
+  const $slots = useSlots();
+</script>

+ 2 - 2
src/components/BsUi/Form/Form.vue

@@ -29,8 +29,8 @@
                        v-model:checked="props.formData[item.field]" v-bind="item.componentProps"
                        @change="handleFieldChange(item, $event)">
               <slot>{{ item.componentProps?.buttonText || '' }}</slot>
-              <template v-for="slot in item.componentProps.slots" #[slot.slotName]>
-                <component :is="slot.customRender()" v-bind="slot.slotProps"></component>
+              <template v-for="slot in item.componentProps.slots" #[slot.slotName]="slotVal">
+                <component :is="slot.customRender(slotVal)" v-bind="slot.slotProps"></component>
               </template>
             </component>
           </a-form-item>

BIN
src/components/BsUi/Images/empty.png


+ 4 - 1
src/components/BsUi/Table/Table.vue

@@ -98,7 +98,10 @@
 
     <template #empty>
       <div class="empty">
-        <bs-empty />
+        <slot name="empty" v-if="$slots.empty"></slot>
+        <bs-empty v-else>
+          <template #description>暂无数据</template>
+        </bs-empty>
       </div>
     </template>