diff --git a/packages/index.js b/packages/index.js
index 5b4d48a..4b1e71f 100644
--- a/packages/index.js
+++ b/packages/index.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import ZTable from './table/index';
+import ZTable from './table/index.vue';
import ZTableNormal from './table/normal';
import ZTableEditable from './table/editable';
import ElImageViewer from './upload/image-viewer';
diff --git a/packages/schema-page/index.vue b/packages/schema-page/index.vue
index 312bce5..0a8a80c 100644
--- a/packages/schema-page/index.vue
+++ b/packages/schema-page/index.vue
@@ -36,36 +36,35 @@
-
+
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/schema-table/index.vue b/packages/schema-table/index.vue
index eae9c70..6767449 100644
--- a/packages/schema-table/index.vue
+++ b/packages/schema-table/index.vue
@@ -1,43 +1,20 @@
diff --git a/packages/table copy/editable.vue b/packages/table copy/editable.vue
new file mode 100644
index 0000000..99efbb6
--- /dev/null
+++ b/packages/table copy/editable.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+ onCellInput(value, row, column, $index)"
+ @edit-click="setRowEditor(row, column, $index)"
+ @edit-confirm="value => onEditConfirm(value, row, column, $index)"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/table copy/index.js b/packages/table copy/index.js
new file mode 100644
index 0000000..a6b2a96
--- /dev/null
+++ b/packages/table copy/index.js
@@ -0,0 +1,27 @@
+import tableProps from './props';
+
+export default {
+ name: 'Table',
+ props: {
+ value: {
+ type: Array,
+ default() {
+ return [];
+ },
+ },
+ columns: {
+ type: Array,
+ default() {
+ return [];
+ },
+ },
+ editable: Boolean,
+ editall: Boolean,
+ clickable: Boolean,
+ disabled: Boolean,
+ ...tableProps,
+ },
+ render(h) {
+ return h(`z-table-${this.editable ? 'editable' : 'normal'}`, { props: { ...this._props }, scopedSlots: this.$scopedSlots, on: this.$listeners });
+ },
+};
diff --git a/packages/table copy/normal.vue b/packages/table copy/normal.vue
new file mode 100644
index 0000000..8a93543
--- /dev/null
+++ b/packages/table copy/normal.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/table copy/props.js b/packages/table copy/props.js
new file mode 100644
index 0000000..7ea8926
--- /dev/null
+++ b/packages/table copy/props.js
@@ -0,0 +1,62 @@
+export default {
+ data: {
+ type: Array,
+ default: function() {
+ return [];
+ },
+ },
+ size: String,
+ width: [String, Number],
+ height: [String, Number],
+ maxHeight: [String, Number],
+ fit: {
+ type: Boolean,
+ default: true,
+ },
+ stripe: Boolean,
+ border: Boolean,
+ rowKey: [String, Function],
+ context: {},
+ showHeader: {
+ type: Boolean,
+ default: true,
+ },
+ showSummary: Boolean,
+ sumText: String,
+ summaryMethod: Function,
+ rowClassName: [String, Function],
+ rowStyle: [Object, Function],
+ cellClassName: [String, Function],
+ cellStyle: [Object, Function],
+ headerRowClassName: [String, Function],
+ headerRowStyle: [Object, Function],
+ headerCellClassName: [String, Function],
+ headerCellStyle: [Object, Function],
+ highlightCurrentRow: Boolean,
+ currentRowKey: [String, Number],
+ emptyText: String,
+ expandRowKeys: Array,
+ defaultExpandAll: Boolean,
+ defaultSort: Object,
+ tooltipEffect: String,
+ spanMethod: Function,
+ selectOnIndeterminate: {
+ type: Boolean,
+ default: true,
+ },
+ indent: {
+ type: Number,
+ default: 16,
+ },
+ treeProps: {
+ type: Object,
+ default() {
+ return {
+ hasChildren: 'hasChildren',
+ children: 'children',
+ };
+ },
+ },
+ lazy: Boolean,
+ load: Function,
+};
diff --git a/packages/table/editable copy.vue b/packages/table/editable copy.vue
new file mode 100644
index 0000000..99efbb6
--- /dev/null
+++ b/packages/table/editable copy.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+ onCellInput(value, row, column, $index)"
+ @edit-click="setRowEditor(row, column, $index)"
+ @edit-confirm="value => onEditConfirm(value, row, column, $index)"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/table/index.js b/packages/table/index.js
deleted file mode 100644
index a6b2a96..0000000
--- a/packages/table/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import tableProps from './props';
-
-export default {
- name: 'Table',
- props: {
- value: {
- type: Array,
- default() {
- return [];
- },
- },
- columns: {
- type: Array,
- default() {
- return [];
- },
- },
- editable: Boolean,
- editall: Boolean,
- clickable: Boolean,
- disabled: Boolean,
- ...tableProps,
- },
- render(h) {
- return h(`z-table-${this.editable ? 'editable' : 'normal'}`, { props: { ...this._props }, scopedSlots: this.$scopedSlots, on: this.$listeners });
- },
-};
diff --git a/packages/table/index.vue b/packages/table/index.vue
new file mode 100644
index 0000000..6355c72
--- /dev/null
+++ b/packages/table/index.vue
@@ -0,0 +1,15 @@
+
diff --git a/packages/table/normal copy.vue b/packages/table/normal copy.vue
new file mode 100644
index 0000000..8a93543
--- /dev/null
+++ b/packages/table/normal copy.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/table/normal.vue b/packages/table/normal.vue
index 8a93543..24b3961 100644
--- a/packages/table/normal.vue
+++ b/packages/table/normal.vue
@@ -1,95 +1,73 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/table/props.js b/packages/table/props.js
index 7ea8926..adca911 100644
--- a/packages/table/props.js
+++ b/packages/table/props.js
@@ -5,6 +5,7 @@ export default {
return [];
},
},
+ mode: 'normal', // normal | edit-column | edit-cell | edit-row | edit-all
size: String,
width: [String, Number],
height: [String, Number],
diff --git a/packages/utils/vnode.js b/packages/utils/vnode.js
new file mode 100644
index 0000000..465b363
--- /dev/null
+++ b/packages/utils/vnode.js
@@ -0,0 +1,25 @@
+// 注册函数式组件ref
+export function registerRef(vnode, context) {
+ if (!context.data.ref) {
+ return vnode;
+ }
+ // 备份vnode原有的insert周期函数
+ const hackInsert = vnode.data.hook.insert;
+ // 新的vnode的insert周期函数
+ vnode.data.hook.insert = function(config) {
+ hackInsert(config);
+ // 当vnode生成实例后,通过上下文反写入父组件的refs;
+ context.parent.$refs[context.data.ref] = config.componentInstance || config.elm; // ref本身就有组件实例和dom节点两种情况,优先取实例
+ };
+ return vnode;
+}
+
+// 简写注册ref
+export function ref(name, context) {
+ return registerRef(context._c(name, context), context);
+}
+
+export default {
+ registerRef,
+ ref,
+};
--
libgit2 0.21.0