diff --git a/locales/en.yaml b/locales/en.yaml
index 37830a4e3..af00d37e5 100644
--- a/locales/en.yaml
+++ b/locales/en.yaml
@@ -130,6 +130,7 @@ menus:
hsdanmaku: Danmaku
hsPureTableBase: Base Usage
hsPureTableHigh: High Usage
+ hsPureTableEdit: Edit Usage
hsboard: Paint Board
hsMenuoverflow: Menu Overflow Show Tooltip Text
hsChildMenuoverflow: Child Menu Overflow Show Tooltip Text
diff --git a/locales/zh-CN.yaml b/locales/zh-CN.yaml
index bb95d6ed3..cc6281b21 100644
--- a/locales/zh-CN.yaml
+++ b/locales/zh-CN.yaml
@@ -130,6 +130,7 @@ menus:
hsdanmaku: 弹幕
hsPureTableBase: 基础用法(23个示例)
hsPureTableHigh: 高级用法(11个示例)
+ hsPureTableEdit: 可编辑用法
hsboard: 艺术画板
hsMenuoverflow: 目录超出显示 Tooltip 文字提示
hsChildMenuoverflow: 菜单超出显示 Tooltip 文字提示
diff --git a/src/router/modules/table.ts b/src/router/modules/table.ts
index b02329606..fe360605d 100644
--- a/src/router/modules/table.ts
+++ b/src/router/modules/table.ts
@@ -25,6 +25,15 @@ export default {
meta: {
title: $t("menus.hsPureTableHigh")
}
+ },
+ {
+ path: "/pure-table/edit",
+ name: "PureTableEdit",
+ component: () => import("@/views/pure-table/edit.vue"),
+ meta: {
+ title: $t("menus.hsPureTableEdit"),
+ extraIcon: "IF-pure-iconfont-new svg"
+ }
}
]
} satisfies RouteConfigsTable;
diff --git a/src/views/pure-table/edit.vue b/src/views/pure-table/edit.vue
new file mode 100644
index 000000000..d251dd1ee
--- /dev/null
+++ b/src/views/pure-table/edit.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pure-table/edit/data.ts b/src/views/pure-table/edit/data.ts
new file mode 100644
index 000000000..f49ec70dd
--- /dev/null
+++ b/src/views/pure-table/edit/data.ts
@@ -0,0 +1,68 @@
+import dayjs from "dayjs";
+
+const date = dayjs(new Date()).format("YYYY-MM-DD");
+
+const tableData = [
+ {
+ date,
+ name: "Tom",
+ sex: 0, // 0代表男 1代表女
+ hobby: null
+ },
+ {
+ date,
+ name: "Jack",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Dick",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Harry",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Sam",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Lucy",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Mary",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Mike",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Mike1",
+ sex: 0,
+ hobby: null
+ },
+ {
+ date,
+ name: "Mike2",
+ sex: 0,
+ hobby: null
+ }
+];
+
+export { tableData };
diff --git a/src/views/pure-table/edit/demo1/columns.tsx b/src/views/pure-table/edit/demo1/columns.tsx
new file mode 100644
index 000000000..4b4782cca
--- /dev/null
+++ b/src/views/pure-table/edit/demo1/columns.tsx
@@ -0,0 +1,105 @@
+import { ref } from "vue";
+
+export function useColumns() {
+ const dataList = ref([]);
+
+ const options = [
+ {
+ value: 0,
+ label: "上午写代码"
+ },
+ {
+ value: 1,
+ label: "下午写代码"
+ },
+ {
+ value: 2,
+ label: "晚上写代码"
+ },
+ {
+ value: 3,
+ label: "凌晨休息了"
+ }
+ ];
+
+ const columns: TableColumnList = [
+ {
+ label: "姓名",
+ prop: "name",
+ cellRenderer: ({ row }) =>
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ cellRenderer: ({ row }) => (
+
+ )
+ },
+ {
+ label: "爱好",
+ prop: "hobby",
+ cellRenderer: ({ row }) => (
+
+ {options.map(item => {
+ return (
+
+ );
+ })}
+
+ )
+ },
+ {
+ label: "日期",
+ prop: "date",
+ cellRenderer: ({ row }) => (
+
+ ),
+ minWidth: 110
+ },
+ {
+ label: "操作",
+ fixed: "right",
+ width: 90,
+ slot: "operation"
+ }
+ ];
+
+ function onAdd() {
+ dataList.value.push({
+ id: dataList.value.length + 1,
+ name: "",
+ sex: 0,
+ hobby: "",
+ date: ""
+ });
+ }
+
+ function onDel(row) {
+ const index = dataList.value.indexOf(row);
+ if (index !== -1) dataList.value.splice(index, 1);
+ }
+
+ return {
+ columns,
+ dataList,
+ onAdd,
+ onDel
+ };
+}
diff --git a/src/views/pure-table/edit/demo1/index.vue b/src/views/pure-table/edit/demo1/index.vue
new file mode 100644
index 000000000..3dffddfa3
--- /dev/null
+++ b/src/views/pure-table/edit/demo1/index.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+ {{ dataList }}
+
+
+
+
+
+
+
+
+ 添加一行数据
+
+
+
+
+
+
+
+
diff --git a/src/views/pure-table/edit/empty.svg b/src/views/pure-table/edit/empty.svg
new file mode 100644
index 000000000..5c8b211ce
--- /dev/null
+++ b/src/views/pure-table/edit/empty.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/pure-table/edit/list.tsx b/src/views/pure-table/edit/list.tsx
new file mode 100644
index 000000000..eecc45adb
--- /dev/null
+++ b/src/views/pure-table/edit/list.tsx
@@ -0,0 +1,13 @@
+import Demo1 from "./demo1/index.vue";
+
+const rendContent = (val: string) =>
+ `代码位置:src/views/pure-table/edit/${val}/index.vue`;
+
+export const list = [
+ {
+ key: "demo1",
+ content: rendContent("demo1"),
+ title: "示例一",
+ component: Demo1
+ }
+];