我們項目中遇到雙擊修改信息也比較常見讯沈,尤其是后臺管理系統(tǒng)
如上圖铸题,這就是一個可以對關(guān)鍵詞進行手動排序的功能抢呆,雙擊數(shù)字的span標(biāo)簽后浓恳,span變成一個文本框刹缝,失去焦點則變回來,并根據(jù)排名按照從小到大重新排序颈将。
起初用原生代碼來寫梢夯,邏輯很簡單,但是有問題晴圾,
第一是很丑颂砸,不過可以在創(chuàng)建的時候?qū)憳邮剑芙鉀Q死姚。
第二是人乓,你的失焦事件只能寫在雙擊事件里,或者render函數(shù)中都毒,也還行色罚。
第三是,如果你已經(jīng)觸發(fā)了第一個的雙擊事件账劲,但是再去雙擊第二個戳护,頁面上就會出現(xiàn)多個input,由于我的頁面很簡單涤垫,沒有其他的input姑尺,于是我在雙擊事件的一開始先判斷頁面上有沒有input,有的話蝠猬,用span替換過來切蟋,但是如果有其它input,就不能這樣用了榆芦。
總之就是柄粹,有小坑喘鸟,不過都能解決,但是解決了之后驻右,你的代碼就是一大坨什黑。
我說上面這么多廢話,是因為我都用原生寫完了堪夭,也部署到服務(wù)器了愕把,但是太丑了,自己沒眼看森爽,于是刪掉重新?lián)Q了個思路恨豁。
如下:
先把標(biāo)簽都寫好,用布爾值控制顯隱
每一條數(shù)據(jù)要有單獨的布爾值爬迟,如果你的數(shù)據(jù)很多橘蜜,可以讓后臺多返回一個布爾值字段,我因為一共只有十個關(guān)鍵詞付呕,就在初始獲取數(shù)據(jù)的時候自己循環(huán)添加了计福,默認為false。
兩個方法如下:
好啦~
另:elementui的table有一個cell-dbclick方法徽职,把這個方法寫在el-table標(biāo)簽中象颖,其它的不變就可以了。scope.$index可以獲取每一行的索引
使用elementui的cell-dbclick函數(shù)實現(xiàn)編輯指路:https://www.cnblogs.com/yixiaoyang-/p/9771652.html