General-Seagull
General-Seagull
我使用了**chenqiuling**这位兄弟的做法,确实非常的优雅。具体实现我详细补充一下,方便小白: 1.获取select-text组件的源代码:随便找一个前端项目,在终端中执行`npm install @miniprogram-component-plus/select-text`,从nodes_module中找到下面组件  2.然后复制miniprogram_dist文件,粘贴到towxml目录下,miniprogram_dist重命名为select-text  3.去decode.wxml中将`{{item.text}}`改成`` 4.在decode.json中添加"select-text": "./select-text" 
> > > 我使用了**chenqiuling**这位兄弟的做法,确实非常的优雅。具体实现我详细补充一下,方便小白: 1.获取select-text组件的源代码:随便找一个前端项目,在终端中执行`npm install @miniprogram-component-plus/select-text`,从nodes_module中找到下面组件  2.然后复制miniprogram_dist文件,粘贴到towxml目录下,miniprogram_dist重命名为select-text  3.去decode.wxml中将`{{item.text}}`改成`` 4.在decode.json中添加"select-text": "./select-text"  > > > > > > 这样做格式还是会乱掉啊,你们真的没问题吗 > > 目前我这边使用没有换行问题,但是有个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绕一圈去实现