1. 程式人生 > 其它 >ElementUI表格多選的問題

ElementUI表格多選的問題

技術標籤:elementuivue

效果:頁面中有一個推送物件的容器,點選後會彈出使用者選擇的dialog表格,表格可多選,選完後點確定會把選中的使用者資訊放進容器中,當容器為空時在表格中選中再確定沒問題,但當容器中有使用者資訊時,再點選選中表格內容會覆蓋已有內容
解決辦法:

...
//這是彈出dialog的方法,i是當前容器的下標
showDialog(i) {
      this.dialogVisible = true;
      if (i != this.pushIndex) {
        this.$nextTick(() => {
          this
.$refs.multipleTable.clearSelection(); }); } this.pushIndex = i; //userArr表示容器中已有的資料 const userArr = this.details[i].user; if (userArr.length > 0) { //先清空表格中所有的選中項 this.$nextTick(() => { this.$refs.multipleTable.clearSelection(); }
); userArr.forEach(user => { //遍歷已有資料,取出資料中的使用者登入ID let loginName = user.substr(user.indexOf("/") + 1, user.length); const form = { limit: 2, page: 1, keyword: loginName }; //將使用者登入ID作為搜尋關鍵詞通過搜尋介面來請求使用者的完整資料物件
this.noEncryptionAixos .get(apiUserList, { params: form }) .then(res => { if (res.code == 200) { this.$nextTick(() => { this.getTableData() const userObj = res.data.list[0]; //請求到完整資料後將資料所在行選中,這樣繫結上就不會出現覆蓋的情況了 this.$refs.multipleTable.toggleRowSelection(userObj, true); }); } }); }); } else { this.$nextTick(() => { this.$refs.multipleTable.clearSelection(); }); } ...

最終效果:
在這裡插入圖片描述