elementUI 表格中回顯checkbox是否選中


我是通過v-if指令來做的,我用的是

checked3,checked4在data質指定。
 <el-table :data="devicesGridData">
              <el-table-column property="name" label="選擇" width="80">
             
                <template slot-scope="scope">
                  <div v-if="1==scope.row.isSelected">
                    <el-checkbox v-model="checked3"  @change="deviceBoxChange(scope.row.id)"></el-checkbox>
                  </div>
                  <div v-if="0==scope.row.isSelected">
                    <el-checkbox v-model="checked4"   @change="deviceBoxChange(scope.row.id)"></el-checkbox>
                  </div>
                </template>
              </el-table-column>
              <el-table-column property="code" label="設備編號" width="100"></el-table-column>
              <el-table-column property="name" label="設備名稱" width="100"></el-table-column>
              <el-table-column property="modelType" label="設備規格"></el-table-column>
          </el-table>

下面是錯誤的方法!!!!!!!!!!!!

官方文檔

 

 不太明白這個是什么情況,直接指定不行,為什么,分頁的時候第二頁就有問題了

 <el-table :data="devicesGridData">
              <el-table-column property="name" label="選擇" width="80">
             
                <template slot-scope="scope">
                  <div v-if="1==scope.row.isSelected">
                    <el-checkbox checked="true"  @change="deviceBoxChange(scope.row.id)"></el-checkbox>
                  </div>
                  <div v-if="0==scope.row.isSelected">
                    <el-checkbox checked="false"   @change="deviceBoxChange(scope.row.id)"></el-checkbox>
                  </div>
                </template>
              </el-table-column>
              <el-table-column property="code" label="設備編號" width="100"></el-table-column>
              <el-table-column property="name" label="設備名稱" width="100"></el-table-column>
              <el-table-column property="modelType" label="設備規格"></el-table-column>
          </el-table>

 后面發現上面的還是有問題,點第二頁的時候,如果第一頁默認選中了1,,2條,第二頁也會同樣1,2條被選中,盡管按照狀態來說不改該唄選中。

<el-table :data="devicesGridData" ref="multipleTable"  @selection-change="handleSelectionChange">>
               <el-table-column type="selection" width="55">
               </el-table-column>
              <el-table-column property="code" label="設備編號" width="100"></el-table-column>
              <el-table-column property="name" label="設備名稱" width="100"></el-table-column>
              <el-table-column property="modelType" label="設備規格"></el-table-column>
          </el-table>
注意上下分別對應:devicesGridData,multipleTable
套了層殼:
this.$nextTick(function () {//選中邏輯代碼},主要是解決數據加載前后問題導致分頁的時候,數據無法回顯復選框。
this.$nextTick(function () {
              this.devicesGridData.forEach(row=>{
                      if(row.selected){
                        this.$refs.multipleTable.toggleRowSelection(row,true);
                      }
                    }); 
          });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM