select-text

可选文本组件。该组件有两种使用模式:长按出现选区,与浏览器默认效果一致;长按出现复制按钮,点击复制拷贝全部内容至剪贴板,常见于聊天对话框等场景。

需注意的时,为实现点击其它区域隐藏复制按钮,开发者可在页面最外层监听 tap 事件,并将 evt 对象赋值给 on-document-tap

安装

  1. npm install @miniprogram-component-plus/select-text

在页面 page.json 中

  1. // page.json
  2. {
  3. "usingComponents": {
  4. "mp-select-text": "@miniprogram-component-plus/select-text"
  5. }
  6. }

示例代码

属性列表

属性类型默认值必填说明
valueString文本组件内容
spaceString显示连续空格
decodeBooleanfalse是否解码
show-copy-btnBooleanfalse长按显示复制按钮
z-indexNumber99复制按钮的层级
active-bg-colorString#DEDEDE长按复制时文本区背景色
on-document-tapObject页面监听事件

space 的合法值

属性类型
ensp中文字符空格一半大小
emsp中文字符空格大小
nbsp根据字体设置的空格大小

代码演示

在开发者工具中预览效果

  1. <view bind:tap="handleTap">
  2. <view class="demo-block">
  3. <block wx:for="{{arr}}" wx:key="placement">
  4. <view class="list-item">
  5. <mp-select-text
  6. show-copy-btn
  7. placement="{{item.placement}}"
  8. value="{{item.value}}"
  9. data-id="{{index}}"
  10. on-document-tap="{{evt}}"
  11. >
  12. </mp-select-text>
  13. </view>
  14. </block>
  15. <view class="list-item">
  16. <mp-select-text value="默认的长按效果与浏览器一致"></mp-select-text>
  17. </view>
  18. </view>
  19. </view>
  1. Page({
  2. data: {
  3. arr: [{
  4. value: '长按,上侧复制',
  5. placement: 'top'
  6. },
  7. {
  8. value: '长按,右侧复制',
  9. placement: 'right'
  10. },
  11. {
  12. value: '长按,左侧复制',
  13. placement: 'left'
  14. },
  15. {
  16. value: '长按,下侧复制',
  17. placement: 'bottom'
  18. }]
  19. },
  20. handleTap(e) {
  21. this.setData({ evt: e })
  22. }
  23. })