|
@@ -212,7 +212,16 @@ function DIYTable(props: IProps) {
|
|
for (let index = 0; index < rows.length; index++) {
|
|
for (let index = 0; index < rows.length; index++) {
|
|
// 把每一行的数据提出来到一个对象里
|
|
// 把每一行的数据提出来到一个对象里
|
|
if (rows) {
|
|
if (rows) {
|
|
- const row = typeof rows[index] === 'string' ? JSON.parse(rows[index]) : rows[index];
|
|
|
|
|
|
+ let row = [];
|
|
|
|
+ row = rows[index];
|
|
|
|
+ // row被stringify了多次,需要多次parse
|
|
|
|
+ while (typeof row === 'string') {
|
|
|
|
+ try {
|
|
|
|
+ row = JSON.parse(row);
|
|
|
|
+ } catch (error) {
|
|
|
|
+ row = [];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
if (index === 0) {
|
|
if (index === 0) {
|
|
// 列配置
|
|
// 列配置
|
|
@@ -251,7 +260,16 @@ function DIYTable(props: IProps) {
|
|
if (displayOnly) {
|
|
if (displayOnly) {
|
|
for (let index = 0; index < rows.length; index++) {
|
|
for (let index = 0; index < rows.length; index++) {
|
|
// 把每一行的数据提出来到一个对象里
|
|
// 把每一行的数据提出来到一个对象里
|
|
- const row = typeof rows[index] === 'string' ? JSON.parse(rows[index]) : rows[index];
|
|
|
|
|
|
+ let row = [];
|
|
|
|
+ row = rows[index];
|
|
|
|
+ // row被stringify了多次,需要多次parse
|
|
|
|
+ while (typeof row === 'string') {
|
|
|
|
+ try {
|
|
|
|
+ row = JSON.parse(row);
|
|
|
|
+ } catch (error) {
|
|
|
|
+ row = [];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
const rowData: any = {};
|
|
const rowData: any = {};
|
|
|
|
|
|
if (!row) break;
|
|
if (!row) break;
|