iview框架的中table組件的render函數(shù)真是奇幻無比啊。之前我也發(fā)了一篇關于render函數(shù)的一般用法。
這篇要講的是render函數(shù)index參數(shù)能用在什么地方。
例如說我用render函數(shù)寫一個按鈕,想點擊按鈕時出現(xiàn)loading加載狀態(tài),1s后loading狀態(tài)自動消失,如果在loading屬性直接綁定一個data的值,會整列的按鈕都出現(xiàn)loading狀態(tài),如下圖:


那人該如何讓當前點擊的按鈕動態(tài)的添加自己有標志性的loading屬性呢?
table的render函數(shù)有3個參數(shù),來段官網(wǎng)的原句:
render 函數(shù)傳入兩個參數(shù),第一個是 h,第二個是對象,包含 row、column 和 index,分別指當前單元格數(shù)據(jù),當前列數(shù)據(jù),當前是第幾行。
現(xiàn)在就該用到index參數(shù)了。
優(yōu)化思路:
1.給data6數(shù)組的每個對象添加一個字段,該字段的值為布爾值。例如我在這里設置isBlue = false;
2.該字段的值用來作為loading屬性的值。例如loading:isBlue;
3.點擊該按鈕時,用index作為data6索引值,取到該索引下的isBlue值。例如data6[index].isBlue是不是就能取到該點擊按鈕的isBlue值啦;
4.既然能取到該點擊按鈕的isBlue值,而該值是loading屬性的,那控制isBlue的值是不是就等于控制了loading屬性的值
來看看下面代碼:


這樣就可以啦,效果圖就不貼了。
如果改個需求,我想要點擊某個按鈕時改變該按鈕顏色,再點擊時改回原來的顏色,這需求跟前面?zhèn)€設置loading狀態(tài)的是不是同個套路啊,同樣是利用index參數(shù)來判斷當前點擊的是哪行,如下代碼:

