= {
+ xs: 10,
+ sm: 12,
+ md: 16,
+ lg: 20,
+};
diff --git a/src/core/icons.ts b/src/core/icons.ts
index 68e9524fa..72118d447 100644
--- a/src/core/icons.ts
+++ b/src/core/icons.ts
@@ -22,6 +22,8 @@ import IconSettings from "~icons/ri/settings-4-line";
import IconPlug from "~icons/ri/plug-2-line";
// @ts-ignore
import IconEye from "~icons/ri/eye-line";
+// @ts-ignore
+import IconFolder from "~icons/ri/folder-2-line";
export {
IconDashboard,
IconArrowRight,
@@ -35,4 +37,5 @@ export {
IconSettings,
IconPlug,
IconEye,
+ IconFolder,
};
diff --git a/src/router/menus.config.ts b/src/router/menus.config.ts
index 75fef32e7..27cba210e 100644
--- a/src/router/menus.config.ts
+++ b/src/router/menus.config.ts
@@ -10,6 +10,7 @@ import {
IconPlug,
IconSettings,
IconUserSettings,
+ IconFolder,
} from "@/core/icons";
import type { Component } from "vue";
@@ -57,7 +58,7 @@ export const menus: MenuGroupType[] = [
{
name: "附件",
path: "/attachment",
- icon: IconDashboard,
+ icon: IconFolder,
},
],
},
diff --git a/src/views/ViewComponents.vue b/src/views/ViewComponents.vue
index a5b3f652a..34a4c0eda 100644
--- a/src/views/ViewComponents.vue
+++ b/src/views/ViewComponents.vue
@@ -5,76 +5,89 @@
Button
Type:
- Primary
- Secondary
- Danger
- Default
+
+ Primary
+ Secondary
+ Danger
+ Default
+
Size:
- Large
- Default
- sm
- xs
+
+ Large
+ Default
+ sm
+ xs
+
Circle:
- lg
- d
- sm
- xs
+
+ lg
+ d
+ sm
+ xs
+
Block:
- Primary
- Secondary
- Danger
+
+ Primary
+ Secondary
+ Danger
+
Disabled:
- Primary
- Secondary
- Danger
+
+ Primary
+ Secondary
+ Danger
+
Loading:
-
- Primary
-
-
- Secondary
-
-
- Danger
-
- Default
+
+
+ {{ buttonLoading ? "停止" : "启动" }}
+
+ Primary
+
+ Secondary
+
+ Danger
+ Default
+
Icon:
-
-
-
-
- Large
-
-
-
-
-
- Default
-
-
-
-
-
- sm
-
-
-
-
-
- xs
-
+
+
+
+
+
+ Large
+
+
+
+
+
+ Default
+
+
+
+
+
+ sm
+
+
+
+
+
+ xs
+
+
+
+ Space
+
+
+
+
+
+ Control:
+ 确定
+ 取消
+
+
+
@@ -206,7 +257,13 @@ import { VOption, VSelect } from "@/components/base/select";
import { VTextarea } from "@/components/base/textarea";
import { VRadio, VRadioGroup } from "@/components/base/radio";
import { VCheckbox, VCheckboxGroup } from "@/components/base/checkbox";
-import { ref } from "vue";
+import { VSpace } from "@/components/base/space";
+import { reactive, ref } from "vue";
+import type {
+ Align,
+ Direction,
+ Spacing,
+} from "@/components/base/space/interface";
const buttonLoading = ref(true);
const inputValue = ref();
@@ -215,6 +272,16 @@ const radioValue = ref("apple");
const checkboxValue = ref(false);
const checkboxGroupValue = ref(["apple"]);
+const spaceState = reactive<{
+ direction: Direction;
+ spacing: Spacing;
+ align: Align;
+}>({
+ direction: "row",
+ spacing: "xs",
+ align: "center",
+});
+
const selectData = [
{
value: "1",