Vue的动态表格Demo


一、导入Vue的js(这一步就不演示了)

二、创建Vue的对象、并且添加测试数据

  注:el挂载的标签ID,components的myTable表示的是,在页面引入时的标签,tabletest为绑定的模板ID(后面会添加),props作为一个数组类型,里面的参数为页面引用时动态的参数(即为子组件传数据所用)。

 1 <script type="text/javascript">
 2         var vue = new Vue({
 3             el: "#app",
 4             data: {
 5                 persons: [{"name": "张三","age": 19}, 
 6                           {"name": "张三","age": 20}, 
 7                           {"name": "张三","age": 21},
 8                           ],
 9                 person2:[{"name":"诸葛亮","age":1900,"birthday":"181年","sex":""},
10                 {"name":"貂蝉","age":1900,"birthday":"190年","sex":""},
11                 {"name":"刘备","age":1920,"birthday":"161年","sex":""},
12                 {"name":"周瑜","age":1930,"birthday":"161年","sex":""},
13                 ]
14             },
15             components: {
16                 myTable: {
17                     template: "#tabletest",
18                     props: ["persons"]
19                 }
20             }
21         })
22  </script>

三、创建一个Vue的模板

  注:template标签下面有且只能有一个根标签。第5行的v-for用于动态输出列名、第7行循环每一个person对象、第9行输出对象所有的值

 1 <template id="tabletest">
 2             <table>
 3                 <tr>
 4                     <td>num</td>
 5                     <td v-for="(value,key) in persons[0]">{{key}}</td>
 6                 </tr>
 7                 <tr v-for="(p,index) in persons">
 8                     <td>{{index+1}}</td>
 9                     <td v-for="value in p">{{value}}</td>
10                 </tr>
11             </table>
12  </template>

四、测试代码

1 <div id="app">
2             <my-table :persons="persons"></my-table>
3             <my-table :persons="person2"></my-table>
4 </div>

注:表格的数据通过 :persons属性 动态选择(此属性在components已经定义好)

五、整体代码布局

 

 

 六、测试结果

  

 

 最后:有什么不对的地方,恳请各位斧正。谢谢!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM