From d35b51c320c42f23c20924ffc66c9b841f49eaa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8F=9C=E7=8C=AB=E5=AD=90neko?= <815743831@qq.com> Date: Mon, 7 Mar 2022 15:16:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E5=A4=9A=E8=A1=8C=E6=96=87=E6=9C=AC=E7=9A=84?= =?UTF-8?q?
=E6=A0=87=E7=AD=BE=E8=A7=A3=E6=9E=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/selection.js | 39 +++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/src/controllers/selection.js b/src/controllers/selection.js index 13b4903..286bcc6 100644 --- a/src/controllers/selection.js +++ b/src/controllers/selection.js @@ -100,6 +100,8 @@ const selection = { if (!clipboardData) { // for chrome clipboardData = e.originalEvent.clipboardData; } + console.log('clipboardData', clipboardData); + Store.luckysheet_selection_range = []; //copy范围 @@ -439,16 +441,33 @@ const selection = { if(c_value == null){ c_value = getcellvalue(r, c, d); } - if(c_value == null && d[r][c] && d[r][c].ct && d[r][c].ct.t == 'inlineStr') { - c_value = d[r][c].ct.s.map(val=>{ - const font = $('') - val.fs && font.css('font-size',val.fs) - val.bl && font.css('font-weight',val.border) - val.it && font.css('font-style',val.italic) - val.cl==1 && font.css('text-decoration','underline') - font.text(val.v) - return font[0].outerHTML - }).join(''); + if (c_value == null &&d[r][c] && d[r][c].ct && d[r][c].ct.t == 'inlineStr') { + c_value = d[r][c].ct.s + .map((val) => { + const brDom = $('
'); + const splitValue = val.v.split('\r\n'); + return splitValue + .map((item) => { + if (!item) { + return ''; + } + const font = $(''); + val.fs && font.css('font-size', `${val.fs}pt`); // 字号 + val.bl && font.css('font-weight', 'bold'); // 加粗 + val.it && font.css('font-style', 'italic'); // 斜体 + val.un && font.css('text-decoration', 'underline'); // 下划线 + val.fc && font.css('color', val.fc); // 字体颜色 + if (val.cl) { + // 判断删除线 + font.append(`${item}`); + } else { + font.text(item); + } + return font[0].outerHTML; + }) + .join(brDom[0].outerHTML); + }) + .join(''); } if(c_value == null){