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){