Переглянути джерело

refactor: 支持外部调用展开关闭接口

zuihou 3 роки тому
батько
коміт
28078d4263

+ 8 - 3
src/components/Container/src/collapse/CollapseContainer.vue

@@ -24,7 +24,8 @@
 </template>
 <script lang="ts" setup>
   import type { PropType } from 'vue';
-  import { ref } from 'vue';
+  import { ref, defineExpose } from 'vue';
+  import { isNil } from 'lodash-es';
   // component
   import { Skeleton } from 'ant-design-vue';
   import { CollapseTransition } from '/@/components/Transition';
@@ -66,13 +67,17 @@
   /**
    * @description: Handling development events
    */
-  function handleExpand() {
-    show.value = !show.value;
+  function handleExpand(val: boolean) {
+    show.value = isNil(val) ? !show.value : val;
     if (props.triggerWindowResize) {
       // 200 milliseconds here is because the expansion has animation,
       useTimeoutFn(triggerWindowResize, 200);
     }
   }
+
+  defineExpose({
+    handleExpand,
+  });
 </script>
 <style lang="less">
   @prefix-cls: ~'@{namespace}-collapse-container';