今天想要分享的是iview table render集成switch開關修改table表格的值,看文檔記得看2.0的,不注意打開就成1.0然后用上了一直沒有效果又沒有找出原因。給出的只是一種寫法思路,具體自己集成。
成都創新互聯服務項目包括綠園網站建設、綠園網站制作、綠園網頁制作以及綠園網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,綠園網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到綠園省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
一、效果如下
即是打開處理switch開關,對應修改為已處理狀態,關閉switch開關,修改為未處理狀態。
二、template html寫法
三、data寫法,table render函數寫法,
columns1: [{ fixed: 'right', title: 'Action', key: 'action', width: 250, align: 'center', render:(h, params) => { return h('div', [ h('Button', { props: { type: 'primary', size: 'small' }, style: { marginRight: '20px' }, on: { click: () => { this.show(params.index) } } }, '閱覽'), h('strong', { style: { marginRight: '5px' }, }, '處理'), h('i-switch', { //數據庫1是已處理,0是未處理 props: { type: 'primary', value: params.row.treatment === 1 //控制開關的打開或關閉狀態,官網文檔屬性是value }, style: { marginRight: '5px' }, on: { 'on-change': (value) => {//觸發事件是on-change,用雙引號括起來, //參數value是回調值,并沒有使用到 this.switch(params.index) //params.index是拿到table的行序列,可以取到對應的表格值 } } }, ) ]); } }]
四、methods方法
//通過開關狀態判斷值然后傳值進行更新 switch(index) { //打開是true,已經處理1 if (this.data1[index].treatment == 1) { this.data1[index].treatment = 0 this.updateFeedbackMessage(this.data1[index].id, 'treatment', this.data1[index].treatment) } else { this.updateFeedbackMessage(this.data1[index].id, 'treatment', 1) } }, //更新反饋信息某一字段 updateFeedbackMessage(id, key, value) { var vm = this var data = { id: id } data[key] = value vm.$http.put('/v1/suggestion', data).then(function (response) { if (response.data.code == '000000') { vm.$Message.info('更新成功'); vm.getFeedbackMessages()//獲取table數據信息,這里調用是因為修改值之后馬上可以更新table值 } }).catch((error) => { console.log(error) }) }, //獲取所有反饋信息列表 getFeedbackMessages() { var vm = this var url = '/v1/suggestions?' url = url + "pageNum=" + this.pageNum + '&pageSize=' + this.pageSize if (this.createByValue != '') { url = url + '&createBy=' + this.createByValue } if (this.dealModelValue != '') { url = url + '&treatment=' + this.dealModelValue } this.$http.get(url).then(response => { if (response.data.code == '000000') { vm.data1 = response.data.data vm.pageTotal = parseInt(response.data.message) } }).catch(error => { console.log(error) }) },
注重思路,有問題一起交流
以上這篇iview table render集成switch開關的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持創新互聯。