chenqiuling

Results 6 comments of chenqiuling

方法一:简单粗暴,用正则匹配替换成所需格式,行内$latex$或者块级$$latex$$ ``` str.replace(/\\\(\s*(.*?)\s*\\\)/g, "$$$1$$") // 行公式规则转换 .replace(/\\\[\s*(.*?)\s*\\\]/g, "$$$$$1$$$$") // 块公式规则转换 ``` 方法二: 改源码这里的匹配逻辑 towxml/parse/markdown/plugins/latex.js 会涉及到转义字符,还需要改移动的步数

我把decode.wxml中的{{item.text}}部分改成``,并在decode.json中引入微信官方的select-text组件`"select-text": "./select-text/index"`解决了这个选中复制功能,并且不会产生换行问题。

> > 我使用了**chenqiuling**这位兄弟的做法,确实非常的优雅。具体实现我详细补充一下,方便小白: 1.获取select-text组件的源代码:随便找一个前端项目,在终端中执行`npm install @miniprogram-component-plus/select-text`,从nodes_module中找到下面组件 ![image](https://private-user-images.githubusercontent.com/61531870/358862114-bf88efa8-841e-48c8-a83a-ceb05b6f7d76.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mjk0ODE5MDIsIm5iZiI6MTcyOTQ4MTYwMiwicGF0aCI6Ii82MTUzMTg3MC8zNTg4NjIxMTQtYmY4OGVmYTgtODQxZS00OGM4LWE4M2EtY2ViMDViNmY3ZDc2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDEwMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMDIxVDAzMzMyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWViMGYyNzk3OGZkMzNhMmI4MGU2OGZjZGUxOGQxOGQ3ODU0NDkyNWU1NWY5MzZkMTBjODkyNmQ3MTkyNTQ0OTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QiVkDLlfYuVW3hsszR8jsBQ4nhI9xUEHoNuagHm7q-4) 2.然后复制miniprogram_dist文件,粘贴到towxml目录下,miniprogram_dist重命名为select-text ![image](https://private-user-images.githubusercontent.com/61531870/358862235-6ea5a869-f86b-43c9-9aef-5b6db3143a1b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mjk0ODE5MDIsIm5iZiI6MTcyOTQ4MTYwMiwicGF0aCI6Ii82MTUzMTg3MC8zNTg4NjIyMzUtNmVhNWE4NjktZjg2Yi00M2M5LTlhZWYtNWI2ZGIzMTQzYTFiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDEwMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMDIxVDAzMzMyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE3ZDRlMjlhNTkxNjgyZTQ1ODkxMWM1YzBkYzBlODgyOWZhOTdjNzQ1YTJhY2UwMzNhYTEwYzFlMDVkMzU3YmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.v2Ft0b1iOhik_Fs3P5LYsxaEpzDJxqN7chAeh_BFu5s) 3.去decode.wxml中将`{{item.text}}`改成`` 4.在decode.json中添加"select-text": "./select-text" ![image](https://private-user-images.githubusercontent.com/61531870/358862315-4572911e-7d5f-42a3-aa18-efc772452efd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mjk0ODE5MDIsIm5iZiI6MTcyOTQ4MTYwMiwicGF0aCI6Ii82MTUzMTg3MC8zNTg4NjIzMTUtNDU3MjkxMWUtN2Q1Zi00MmEzLWFhMTgtZWZjNzcyNDUyZWZkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDEwMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMDIxVDAzMzMyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU0MTk2YWVjNjg5M2Q5NTAzYjEyN2ZiNThiYjExZGQyMDk2MDUzNDU3ZDkwZGIxYzVhZGQ4OTVkM2U4NDgxNzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.AOt-552386m0gQExuVLBAGIOOo0YFWrCpgf4HF2fWac) > > 这样做格式还是会乱掉啊,你们真的没问题吗 目前我这边使用没有换行问题,但是有个iOS机型复制不了,大概是因为selectable属性被废弃了,安卓和其他iOS机型目前可以使用。其实select-text内封装的text组件用的是已经废弃的selectable属性,所以可以表现为inline行内。text组件新的user-select属性会表现为inline-block,会导致换行。

> 看状态目前还是open,应该还没有解决,估计有优先级更高的要处理 已经解决,是因为textarea有个默认line-height的原因,设置成line-height: normal;就可以了

``` import React, { useRef, useState } from 'react'; import { PlusOutlined } from '@ant-design/icons'; import { Button, Divider, Input, Select, Space, DatePicker } from 'antd'; const App: React.FC =...