浏览代码

Fixed method remove and removeByUnqiueId using object path

Dustin Utecht 3 年之前
父节点
当前提交
cb1f55ae35
共有 1 个文件被更改,包括 5 次插入8 次删除
  1. 5 8
      src/bootstrap-table.js

+ 5 - 8
src/bootstrap-table.js

@@ -2493,8 +2493,9 @@ class BootstrapTable {
     for (let i = this.options.data.length - 1; i >= 0; i--) {
     for (let i = this.options.data.length - 1; i >= 0; i--) {
 
 
       const row = this.options.data[i]
       const row = this.options.data[i]
+      const value = Utils.getItemField(row, params.field, this.options.escape, row.escape)
 
 
-      if (!row.hasOwnProperty(params.field) && params.field !== '$index') {
+      if (value === undefined && params.field !== '$index') {
         continue
         continue
       }
       }
 
 
@@ -2502,7 +2503,7 @@ class BootstrapTable {
         !row.hasOwnProperty(params.field) &&
         !row.hasOwnProperty(params.field) &&
         params.field === '$index' &&
         params.field === '$index' &&
         params.values.includes(i) ||
         params.values.includes(i) ||
-        params.values.includes(row[params.field])
+        params.values.includes(value)
       ) {
       ) {
         removed++
         removed++
 
 
@@ -2573,16 +2574,12 @@ class BootstrapTable {
     let dataRow = null
     let dataRow = null
     let i
     let i
     let row
     let row
-    let rowUniqueId
 
 
     for (i = len - 1; i >= 0; i--) {
     for (i = len - 1; i >= 0; i--) {
       row = this.options.data[i]
       row = this.options.data[i]
+      const rowUniqueId = Utils.getItemField(row, uniqueId, this.options.escape, row.escape)
 
 
-      if (row.hasOwnProperty(uniqueId)) { // uniqueId is a column
-        rowUniqueId = row[uniqueId]
-      } else if (row._data && row._data.hasOwnProperty(uniqueId)) { // uniqueId is a row data property
-        rowUniqueId = row._data[uniqueId]
-      } else {
+      if (rowUniqueId === undefined) {
         continue
         continue
       }
       }