Table.api.formatter.toggle默认使用的是id作为主键,假如这个表格的主键不是id,绑定的数据会变为undefined,从而导致执行失败。
打开assets/js/require-table.js文件
找到下列代码,并修改:
`
toggle: function (value, row, index) {
var options = $(table).bootstrapTable('getOptions'); //新增这行
var color = typeof this.color !== 'undefined' ? this.color : 'success';
var yes = typeof this.yes !== 'undefined' ? this.yes : 1;
var no = typeof this.no !== 'undefined' ? this.no : 0;
return "<a href='javascript:;' data-toggle='tooltip' title='" + __('Click to toggle') + "' class='btn-change' data-id='" + row[options.pk] + "' data-params='" + this.field + "=" + (value ? no : yes) + "'><i class='fa fa-toggle-on " + (value == yes ? 'text-' + color : 'fa-flip-horizontal text-gray') + " fa-2x'></i></a>"; //row.id修改为row[options.pk]
}