General-Seagull

Results 2 comments of General-Seagull

我使用了**chenqiuling**这位兄弟的做法,确实非常的优雅。具体实现我详细补充一下,方便小白: 1.获取select-text组件的源代码:随便找一个前端项目,在终端中执行`npm install @miniprogram-component-plus/select-text`,从nodes_module中找到下面组件 ![image](https://github.com/user-attachments/assets/bf88efa8-841e-48c8-a83a-ceb05b6f7d76) 2.然后复制miniprogram_dist文件,粘贴到towxml目录下,miniprogram_dist重命名为select-text ![image](https://github.com/user-attachments/assets/6ea5a869-f86b-43c9-9aef-5b6db3143a1b) 3.去decode.wxml中将`{{item.text}}`改成`` 4.在decode.json中添加"select-text": "./select-text" ![image](https://github.com/user-attachments/assets/4572911e-7d5f-42a3-aa18-efc772452efd)

> > > 我使用了**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,会导致换行。 后面我发现了,忘记说了,其实是有问题的,细看select-text的代码,就发现它的核心就把text标签包装一下,然后设置selectable=“true”,这样就可以在安卓手机上复制了,但是对苹果手机无效,你得加个user-select="true",才能让苹果手机能复制。但是user-select="true"有个副作用,即它会把text的高度设置为一行文本的高度,即使你在视觉上看起来文本高度正常,但是你如果调试的话,就会发现文本的高度就只是一行。然后就会导致引用(md中用单引号 `` 表示的),除了最后一行,前几行的样式失效,同时不排除这个高度一行会影响到其他的样式。总之,我现在的结论就是苹果手机复制和样式副作用二选一,要么苹果手机能复制,苹果安卓样式都受影响,要么苹果手机不复制,安卓手机苹果手机样式都不受影响,但是安卓手机仍然能复制。目前我没找到其他的办法,因为复制就是通过text标签上加这两个css属性,除非你自己添加事件,通过js绕一圈去实现