diff --git a/examples/routers/modal.vue b/examples/routers/modal.vue
index 0ff08dd..258552b 100644
--- a/examples/routers/modal.vue
+++ b/examples/routers/modal.vue
@@ -6,6 +6,7 @@
                 width="70"
                 title="普通的Modal对话框标题"
                 @on-ok="ok"
+                :transfer="true"
                 @on-cancel="cancel">
             <div>
                 <Form :model="formItem" :label-width="80">
diff --git a/examples/routers/poptip.vue b/examples/routers/poptip.vue
index b363a0b..f5d4e3f 100644
--- a/examples/routers/poptip.vue
+++ b/examples/routers/poptip.vue
@@ -1,6 +1,6 @@
 <template>
     <div>
-        <Poptip trigger="hover" transfer title="提示标题" content="提示内容">
+        <Poptip trigger="hover" title="提示标题" content="提示内容">
             <Button>hover 激活</Button>
         </Poptip>
         <Poptip title="提示标题" content="提示内容">
diff --git a/examples/routers/table.vue b/examples/routers/table.vue
index 2203ed7..bb3a20e 100644
--- a/examples/routers/table.vue
+++ b/examples/routers/table.vue
@@ -1,114 +1,192 @@
+<!--<template>-->
+    <!--<div>-->
+        <!--<Table-->
+                <!--width="500"-->
+                <!--border-->
+                <!--highlight-row-->
+                <!--:columns="columns2"-->
+                <!--@on-selection-change="change2"-->
+                <!--:data="data3"></Table>-->
+        <!--<Button @click="addData">添加数据</Button>-->
+    <!--</div>-->
+<!--</template>-->
+<!--<script>-->
+    <!--import test from '../components/test.vue';-->
+    <!--export default {-->
+        <!--data () {-->
+            <!--return {-->
+                <!--columns2: [-->
+<!--//                    {-->
+<!--//                        type: 'selection',-->
+<!--//                        width: 60,-->
+<!--//                        align: 'center'-->
+<!--//                    },-->
+                    <!--{-->
+                        <!--title: '姓名',-->
+                        <!--key: 'name',-->
+                        <!--width: 100,-->
+<!--//                        sortable: true,-->
+                        <!--fixed: 'right',-->
+                        <!--render: (h, params) => {-->
+                            <!--return h('div', [-->
+                                <!--h('Button', {-->
+                                    <!--props: {-->
+                                        <!--type: 'primary',-->
+                                        <!--size: 'small'-->
+                                    <!--},-->
+                                    <!--on: {-->
+                                        <!--click: this.edit-->
+                                    <!--},-->
+                                <!--}, '修改')-->
+                            <!--]);-->
+                        <!--}-->
+                    <!--},-->
+                    <!--{-->
+                        <!--title: '年龄',-->
+                        <!--key: 'age',-->
+                        <!--sortable: true,-->
+<!--//                        width: 100-->
+                    <!--},-->
+                    <!--{-->
+                        <!--title: '省份',-->
+                        <!--key: 'province',-->
+                        <!--sortable: true,-->
+<!--//                        fixed: 'right',-->
+<!--//                        width: 100-->
+                    <!--},-->
+<!--//                    {-->
+<!--//                        title: '市区',-->
+<!--//                        key: 'city',-->
+<!--//                        width: 100-->
+<!--//                    },-->
+<!--//                    {-->
+<!--//                        title: '地址',-->
+<!--//                        key: 'address',-->
+<!--//                        width: 200-->
+<!--//                    },-->
+<!--//                    {-->
+<!--//                        title: '邮编',-->
+<!--//                        key: 'zip',-->
+<!--//                        width: 100-->
+<!--//                    },-->
+<!--//                    {-->
+<!--//                        title: '操作',-->
+<!--//                        key: 'action',-->
+<!--//                        fixed: 'right',-->
+<!--//                        width: 120,-->
+<!--//                        render: (h, params) => {-->
+<!--//                            return h(test);-->
+<!--//                        }-->
+<!--//                    }-->
+                <!--],-->
+                <!--data3: [-->
+<!--//                    {-->
+<!--//                        name: '王小明',-->
+<!--//                        age: 18,-->
+<!--//                        address: '北京市朝阳区芍药居',-->
+<!--//                        province: '北京市',-->
+<!--//                        city: '朝阳区',-->
+<!--//                        zip: 100000-->
+<!--//                    },-->
+<!--//                    {-->
+<!--//                        name: '张小刚',-->
+<!--//                        age: 25,-->
+<!--//                        address: '北京市海淀区西二旗',-->
+<!--//                        province: '北京市',-->
+<!--//                        city: '海淀区',-->
+<!--//                        zip: 100000-->
+<!--//                    },-->
+<!--//                    {-->
+<!--//                        name: '李小红',-->
+<!--//                        age: 30,-->
+<!--//                        address: '上海市浦东新区世纪大道',-->
+<!--//                        province: '上海市',-->
+<!--//                        city: '浦东新区',-->
+<!--//                        zip: 100000-->
+<!--//                    },-->
+<!--//                    {-->
+<!--//                        name: '周小伟',-->
+<!--//                        age: 26,-->
+<!--//                        address: '深圳市南山区深南大道',-->
+<!--//                        province: '广东',-->
+<!--//                        city: '南山区',-->
+<!--//                        zip: 100000-->
+<!--//                    }-->
+                <!--]-->
+            <!--}-->
+        <!--},-->
+        <!--methods: {-->
+            <!--change1 (d, l) {-->
+<!--//                console.log(d)-->
+<!--//                console.log(l)-->
+            <!--},-->
+            <!--change2 (d, l) {-->
+                <!--console.log(d);-->
+                <!--console.log(l);-->
+            <!--},-->
+            <!--addData () {-->
+                <!--this.data3.push({-->
+                    <!--name: '周小伟',-->
+                    <!--age: 26,-->
+                    <!--address: '深圳市南山区深南大道',-->
+                    <!--province: '广东',-->
+                    <!--city: '南山区',-->
+                    <!--zip: 100000-->
+                <!--})-->
+            <!--}-->
+        <!--}-->
+    <!--}-->
+<!--</script>-->
+
 <template>
-    <Table
-            width="550"
-            border
-            highlight-row
-            :columns="columns2"
-            @on-selection-change="change2"
-            :data="data3"></Table>
+    <div>
+        <i-table :data="dtData" :height="400" :columns="dtCols" border highlight-row></i-table>
+        <Button type="ghost" @click="addData"> add data</Button>
+    </div>
 </template>
 <script>
-    import test from '../components/test.vue';
     export default {
-        data () {
-            return {
-                columns2: [
+        data(){
+            return{
+                dtData:[],
+                dtCols:[
                     {
                         type: 'selection',
                         width: 60,
                         align: 'center'
                     },
                     {
-                        title: '姓名',
+                        title: '分类名称',
                         key: 'name',
-                        width: 100,
-                        sortable: true,
-//                        fixed: 'left',
-//                        renderHeader: (h, params) => {
-//                            return h('Tag', params.index)
-//                        }
-                    },
-                    {
-                        title: '年龄',
-                        key: 'age',
-                        sortable: true,
-                        width: 100
-                    },
-                    {
-                        title: '省份',
-                        key: 'province',
-                        width: 100
-                    },
-                    {
-                        title: '市区',
-                        key: 'city',
-                        width: 100
-                    },
-                    {
-                        title: '地址',
-                        key: 'address',
-                        width: 200
-                    },
-                    {
-                        title: '邮编',
-                        key: 'zip',
-                        width: 100
+                        sortable: true
                     },
                     {
                         title: '操作',
-                        key: 'action',
                         fixed: 'right',
                         width: 120,
                         render: (h, params) => {
-                            return h(test);
+                            return h('div', [
+                                h('Button', {
+                                    props: {
+                                        type: 'primary',
+                                        size: 'small'
+                                    },
+                                    on: {
+                                        click: this.edit
+                                    },
+                                }, '修改')
+                            ]);
                         }
                     }
-                ],
-                data3: [
-                    {
-                        name: '王小明',
-                        age: 18,
-                        address: '北京市朝阳区芍药居',
-                        province: '北京市',
-                        city: '朝阳区',
-                        zip: 100000
-                    },
-                    {
-                        name: '张小刚',
-                        age: 25,
-                        address: '北京市海淀区西二旗',
-                        province: '北京市',
-                        city: '海淀区',
-                        zip: 100000
-                    },
-                    {
-                        name: '李小红',
-                        age: 30,
-                        address: '上海市浦东新区世纪大道',
-                        province: '上海市',
-                        city: '浦东新区',
-                        zip: 100000
-                    },
-                    {
-                        name: '周小伟',
-                        age: 26,
-                        address: '深圳市南山区深南大道',
-                        province: '广东',
-                        city: '南山区',
-                        zip: 100000
-                    }
                 ]
             }
         },
         methods: {
-            change1 (d, l) {
-//                console.log(d)
-//                console.log(l)
-            },
-            change2 (d, l) {
-                console.log(d);
-                console.log(l);
+            addData () {
+                this.dtData.push({
+                    name: '发送到附件是'
+                })
             }
         }
     }
-</script>
+</script>
\ No newline at end of file
diff --git a/src/components/dropdown/dropdown.vue b/src/components/dropdown/dropdown.vue
index 9bb22f2..3a0e051 100644
--- a/src/components/dropdown/dropdown.vue
+++ b/src/components/dropdown/dropdown.vue
@@ -12,7 +12,8 @@
                 ref="drop"
                 @mouseenter.native="handleMouseenter"
                 @mouseleave.native="handleMouseleave"
-                v-transfer-dom:forbidden="transfer"><slot name="list"></slot></Drop>
+                :data-transfer="transfer"
+                v-transfer-dom><slot name="list"></slot></Drop>
         </transition>
     </div>
 </template>
diff --git a/src/components/modal/modal.vue b/src/components/modal/modal.vue
index 037a9f0..db4ae39 100644
--- a/src/components/modal/modal.vue
+++ b/src/components/modal/modal.vue
@@ -1,5 +1,5 @@
 <template>
-    <div v-transfer-dom>
+    <div v-transfer-dom :data-transfer="transfer">
         <transition :name="transitionNames[1]">
             <div :class="maskClasses" v-show="visible" @click="mask"></div>
         </transition>
@@ -91,6 +91,10 @@
                 default () {
                     return ['ease', 'fade'];
                 }
+            },
+            transfer: {
+                type: Boolean,
+                default: true
             }
         },
         data () {
diff --git a/src/components/poptip/poptip.vue b/src/components/poptip/poptip.vue
index 6bc0001..829ae9c 100644
--- a/src/components/poptip/poptip.vue
+++ b/src/components/poptip/poptip.vue
@@ -20,7 +20,8 @@
                 v-show="visible"
                 @mouseenter="handleMouseenter"
                 @mouseleave="handleMouseleave"
-                v-transfer-dom:forbidden="transfer">
+                :data-transfer="transfer"
+                v-transfer-dom>
                 <div :class="[prefixCls + '-content']">
                     <div :class="[prefixCls + '-arrow']"></div>
                     <div :class="[prefixCls + '-inner']" v-if="confirm">
diff --git a/src/components/table/table.vue b/src/components/table/table.vue
index 4025941..e0d2d12 100644
--- a/src/components/table/table.vue
+++ b/src/components/table/table.vue
@@ -37,7 +37,7 @@
                 </table>
             </div>
             <div :class="[prefixCls + '-fixed']" :style="fixedTableStyle" v-if="isLeftFixed">
-                <div :class="[prefixCls + '-fixed-header']" v-if="showHeader">
+                <div :class="fixedHeaderClasses" v-if="showHeader">
                     <table-head
                         fixed="left"
                         :prefix-cls="prefixCls"
@@ -59,7 +59,7 @@
                 </div>
             </div>
             <div :class="[prefixCls + '-fixed-right']" :style="fixedRightTableStyle" v-if="isRightFixed">
-                <div :class="[prefixCls + '-fixed-header']" v-if="showHeader">
+                <div :class="fixedHeaderClasses" v-if="showHeader">
                     <table-head
                         fixed="right"
                         :prefix-cls="prefixCls"
@@ -216,6 +216,14 @@
                     }
                 ];
             },
+            fixedHeaderClasses () {
+                return [
+                    `${prefixCls}-fixed-header`,
+                    {
+                        [`${prefixCls}-fixed-header-with-empty`]: !this.rebuildData.length
+                    }
+                ];
+            },
             styles () {
                 let style = {};
                 if (this.height) {
diff --git a/src/components/tooltip/tooltip.vue b/src/components/tooltip/tooltip.vue
index a5a214f..0353f32 100644
--- a/src/components/tooltip/tooltip.vue
+++ b/src/components/tooltip/tooltip.vue
@@ -10,7 +10,8 @@
                 v-show="!disabled && (visible || always)"
                 @mouseenter="handleShowPopper"
                 @mouseleave="handleClosePopper"
-                v-transfer-dom:forbidden="transfer">
+                :data-transfer="transfer"
+                v-transfer-dom>
                 <div :class="[prefixCls + '-content']">
                     <div :class="[prefixCls + '-arrow']"></div>
                     <div :class="[prefixCls + '-inner']"><slot name="content">{{ content }}</slot></div>
diff --git a/src/directives/transfer-dom.js b/src/directives/transfer-dom.js
index a4163b9..a7e2c4d 100644
--- a/src/directives/transfer-dom.js
+++ b/src/directives/transfer-dom.js
@@ -15,8 +15,8 @@ function getTarget (node) {
 }
 
 const directive = {
-    inserted (el, { value, arg }, vnode) {
-        if (arg.forbidden) return false;
+    inserted (el, { value }, vnode) {
+        if (el.dataset.transfer !== 'true') return false;
         el.className = el.className ? el.className + ' v-transfer-dom' : 'v-transfer-dom';
         const parentNode = el.parentNode;
         if (!parentNode) return;
@@ -37,8 +37,8 @@ const directive = {
             }
         }
     },
-    componentUpdated (el, { value, arg }) {
-        if (arg.forbidden) return false;
+    componentUpdated (el, { value }) {
+        if (el.dataset.transfer !== 'true') return false;
         // need to make sure children are done updating (vs. `update`)
         const ref$1 = el.__transferDomData;
         if (!ref$1) return;
@@ -62,8 +62,8 @@ const directive = {
             getTarget(value).appendChild(el);
         }
     },
-    unbind (el, { arg } ) {
-        if (arg.forbidden) return false;
+    unbind (el) {
+        if (el.dataset.transfer !== 'true') return false;
         el.className = el.className.replace('v-transfer-dom', '');
         const ref$1 = el.__transferDomData;
         if (!ref$1) return;
diff --git a/src/styles/components/table.less b/src/styles/components/table.less
index 556ac2e..def15b6 100644
--- a/src/styles/components/table.less
+++ b/src/styles/components/table.less
@@ -268,6 +268,16 @@
     }
     &-fixed-header{
         overflow: hidden;
+        &-with-empty{
+            .@{table-prefix-cls}-hidden{
+                .@{table-prefix-cls}-sort{
+                    display: none;
+                }
+                .@{table-prefix-cls}-cell span{
+                    display: none;
+                }
+            }
+        }
     }
     &-fixed-body{
         overflow: hidden;
--
libgit2 0.21.4