国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue element-ui table組件動態生成表頭和數據并修改單元格格式 父子組件通信

2019-11-19 11:02:04
字體:
來源:轉載
供稿:網友

父組件

定義表頭和表內容

data(){ return{  // 表格數據  tableColumns: [],  // 表頭數據  titleData:[], }}

引入并注冊子組件

import TableComponents from "../../components/table/table";//注冊子組件tablecomponents: {  tableC: TableComponents},

獲取表頭和表內容數據。(真實數據應該是從接口獲取的,由于是測試數據這里我先寫死)

mounted() {  this.titleData =     [{      name:'日期',      value:'date'    },{      name:'姓名',      value:'name'    },{      name:'地址',      value:'address'    },{      name:'匯率',      value:'sharesReturn'    }];  this.tableColumns =     [{      date: '2016-05-01',      name: '王小虎1',      address: '上海市普陀區金沙江路 1518 弄',      sharesReturn: 0.03    }, {      date: '2016-05-02',      name: '王小虎2',      address: '上海市普陀區金沙江路 1517 弄',      sharesReturn: 0.04    }, {      date: '2016-05-03',      name: '王小虎3',      address: '上海市普陀區金沙江路 1519 弄',      sharesReturn: -0.01    }, {      date: '2016-05-04',      name: '王小虎4',      address: '上海市普陀區金沙江路 1516 弄',      sharesReturn: 0.00    }];}

html代碼

<tableC :tableColumns="tableColumns" :titleData="titleData" ></tableC>

子組件

js代碼

export default { name: 'tbComponents', props: ['tableColumns','titleData'],}

重點來了

html要怎么寫呢?官網的文檔是這么寫的

el-table :data關聯的是表格里的數據

el-table-column :prop關聯的是表頭的值 :label關聯的是表頭的文本

html動態渲染

<el-table :data="tableColumns" style="width: 100%"> <el-table-column v-for="(item,key) in titleData" :key="key" :prop="item.value"   :label="item.name"></el-table-column></el-table>

效果如下:

最后剩下一個功能,如果 匯率大于0,則顯示紅色,小于0則顯示綠色

先貼上完整代碼:

<el-table :data="tableColumns" style="width: 100%">  <el-table-column v-for="(item,key) in titleData" :key="key" :prop="item.value" :label="item.name">    <template slot-scope="scope">     <span v-if="scope.column.property==='sharesReturn'&&scope.row[scope.column.property]>0" style="color:red">{{scope.row[scope.column.property]}}</span>     <span v-else-if="scope.column.property==='sharesReturn'&&scope.row[scope.column.property]<0" style="color: #37B328">{{scope.row[scope.column.property]}}</span>     <span v-else>{{scope.row[scope.column.property]}}</span>    </template>  </el-table-column></el-table>

scope.row和scope.column分別代表什么呢? 可以在界面輸出看看

先輸出scope.row

由此可見scope.row代表 當前行 的數據

再來輸出scope.column

得到這樣一個對象,仔細看看,我們可以發現一點門路

由此可見scope.column.property代表 當前列的值

合并起來,當前單元格的值應該是scope.row[scope.column.property]

總結

以上所述是小編給大家介紹的vue element-ui table組件動態生成表頭和數據并修改單元格格式 父子組件通信,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德州市| 社旗县| 凤城市| 墨竹工卡县| 那曲县| 双辽市| 兴业县| 巴林右旗| 涡阳县| 汉川市| 镶黄旗| 西昌市| 青铜峡市| 星子县| 周宁县| 蒙城县| 于田县| 黔江区| 来安县| 涞源县| 西和县| 灵宝市| 东城区| 昌邑市| 旬邑县| 普兰店市| 新蔡县| 吴旗县| 平果县| 武城县| 太原市| 潜山县| 武功县| 祁门县| 房山区| 讷河市| 汉寿县| 伊宁市| 孟州市| 兴仁县| 沙雅县|