diff --git a/src/components/table/index.js b/src/components/table/index.js
new file mode 100644
index 0000000..158c2e2
--- /dev/null
+++ b/src/components/table/index.js
@@ -0,0 +1,2 @@
+import Table from './table.vue';
+export default Table;
\ No newline at end of file
diff --git a/src/components/table/table-body.vue b/src/components/table/table-body.vue
new file mode 100644
index 0000000..a0f797d
--- /dev/null
+++ b/src/components/table/table-body.vue
@@ -0,0 +1,21 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/components/table/table-column.vue b/src/components/table/table-column.vue
new file mode 100644
index 0000000..a0f797d
--- /dev/null
+++ b/src/components/table/table-column.vue
@@ -0,0 +1,21 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/components/table/table-head.vue b/src/components/table/table-head.vue
new file mode 100644
index 0000000..23ffcdc
--- /dev/null
+++ b/src/components/table/table-head.vue
@@ -0,0 +1,32 @@
+
+
+
+ {{{ renderHeader(column, $index) }}} |
+
+
+
+
\ No newline at end of file
diff --git a/src/components/table/table.vue b/src/components/table/table.vue
new file mode 100644
index 0000000..aba3322
--- /dev/null
+++ b/src/components/table/table.vue
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+ {{{ renderRow(row, column) }}} |
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/transfer/search.vue b/src/components/transfer/search.vue
index 544e413..e795a91 100644
--- a/src/components/transfer/search.vue
+++ b/src/components/transfer/search.vue
@@ -12,6 +12,7 @@
import iInput from '../input/input.vue';
export default {
+ components: { iInput },
props: {
prefixCls: String,
placeholder: String,
diff --git a/src/index.js b/src/index.js
index 0badbd7..fd0080a 100644
--- a/src/index.js
+++ b/src/index.js
@@ -24,6 +24,7 @@ import Slider from './components/slider';
import Spin from './components/spin';
import Steps from './components/steps';
import Switch from './components/switch';
+import Table from './components/table';
import Tag from './components/tag';
import Timeline from './components/timeline';
import Tooltip from './components/tooltip';
@@ -69,6 +70,7 @@ const iview = {
Step: Steps.Step,
Steps,
Switch,
+ iTable: Table,
Tag,
Timeline,
TimelineItem: Timeline.Item,
diff --git a/src/styles/components/table.less b/src/styles/components/table.less
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/styles/components/table.less
diff --git a/src/utils/assist.js b/src/utils/assist.js
index 334bd48..a6bf397 100644
--- a/src/utils/assist.js
+++ b/src/utils/assist.js
@@ -75,4 +75,16 @@ export function getStyle (element, styleName) {
} catch(e) {
return element.style[styleName];
}
+}
+
+// firstUpperCase
+function firstUpperCase(str) {
+ return str.toString()[0].toUpperCase() + str.toString().slice(1);
+}
+
+// Warn
+export function warnProp(component, prop, correctType, wrongType) {
+ correctType = firstUpperCase(correctType);
+ wrongType = firstUpperCase(wrongType);
+ console.error(`[iView warn]: Invalid prop: type check failed for prop ${prop}. Expected ${correctType}, got ${wrongType}. (found in component: ${component})`);
}
\ No newline at end of file
diff --git a/test/app.vue b/test/app.vue
index 83855bd..12d3827 100644
--- a/test/app.vue
+++ b/test/app.vue
@@ -41,6 +41,7 @@ li + li {
Input
Cascader
Transfer
+ Table
diff --git a/test/main.js b/test/main.js
index 241e4d5..982ec29 100644
--- a/test/main.js
+++ b/test/main.js
@@ -102,6 +102,11 @@ router.map({
component: function (resolve) {
require(['./routers/transfer.vue'], resolve);
}
+ },
+ '/table': {
+ component: function (resolve) {
+ require(['./routers/table.vue'], resolve);
+ }
}
});
diff --git a/test/routers/table.vue b/test/routers/table.vue
new file mode 100644
index 0000000..e8af200
--- /dev/null
+++ b/test/routers/table.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
\ No newline at end of file
--
libgit2 0.21.4