微信小程序 擴(kuò)展組件·可選文本組件

2022-05-12 17:48 更新

select-text

可選文本組件。該組件有兩種使用模式:長(zhǎng)按出現(xiàn)選區(qū),與瀏覽器默認(rèn)效果一致;長(zhǎng)按出現(xiàn)復(fù)制按鈕,點(diǎn)擊復(fù)制拷貝全部?jī)?nèi)容至剪貼板,常見(jiàn)于聊天對(duì)話(huà)框等場(chǎng)景。

需注意的時(shí),為實(shí)現(xiàn)點(diǎn)擊其它區(qū)域隱藏復(fù)制按鈕,開(kāi)發(fā)者可在頁(yè)面最外層監(jiān)聽(tīng) tap 事件,并將 evt 對(duì)象賦值給 on-document-tap。

<view bind:tap="handleTap">
  <view class="demo-block">
    <block wx:for="{{arr}}" wx:key="placement">
      <view class="list-item">
        <mp-select-text 
          show-copy-btn 
          placement="{{item.placement}}" 
          value="{{item.value}}" 
          data-id="{{index}}" 
          bindcopy="onCopy"
          on-document-tap="{{evt}}"
        >
        </mp-select-text>
      </view>
    </block>
    <view class="list-item">
      <mp-select-text value="默認(rèn)的長(zhǎng)按效果與瀏覽器一致"></mp-select-text>
    </view>
  </view>
</view>

Page({
  data: {
    arr: [{
      value: '長(zhǎng)按,上側(cè)復(fù)制',
      placement: 'top'
    }, {
      value: '長(zhǎng)按,右側(cè)復(fù)制',
      placement: 'right'
    }, {
      value: '長(zhǎng)按,左側(cè)復(fù)制',
      placement: 'left'
    }, {
      value: '長(zhǎng)按,下側(cè)復(fù)制',
      placement: 'bottom'
    }]
  },

  onLoad() {

  },

  onCopy(e) {
    console.log('onCopy', e)
  },
  
  handleTouchStart(e) {
    console.log('@@ touchstart', e)
  },

  handleTap(e) {
    console.log('@@ tap', e)
    this.setData({
      evt: e
    })
  }

})


屬性列表

屬性類(lèi)型默認(rèn)值必填說(shuō)明
valueString文本組件內(nèi)容
spaceString顯示連續(xù)空格
decodeBooleanfalse是否解碼
show-copy-btnBooleanfalse長(zhǎng)按顯示復(fù)制按鈕
z-indexNumber99復(fù)制按鈕的層級(jí)
active-bg-colorString#DEDEDE長(zhǎng)按復(fù)制時(shí)文本區(qū)背景色
on-document-tapObject頁(yè)面監(jiān)聽(tīng)事件

space 的合法值

屬性類(lèi)型
ensp中文字符空格一半大小
emsp中文字符空格大小
nbsp根據(jù)字體設(shè)置的空格大小

代碼演示

在開(kāi)發(fā)者工具中預(yù)覽效果

<view bind:tap="handleTap">
  <view class="demo-block">
    <block wx:for="{{arr}}" wx:key="placement">
      <view class="list-item">
        <mp-select-text 
          show-copy-btn 
          placement="{{item.placement}}" 
          value="{{item.value}}" 
          data-id="{{index}}" 
          on-document-tap="{{evt}}"
        >
        </mp-select-text>
      </view>
    </block>
    <view class="list-item">
      <mp-select-text value="默認(rèn)的長(zhǎng)按效果與瀏覽器一致"></mp-select-text>
    </view>
  </view>
</view>
Page({
  data: {
    arr: [{
      value: '長(zhǎng)按,上側(cè)復(fù)制',
      placement: 'top'
    },
    {
      value: '長(zhǎng)按,右側(cè)復(fù)制',
      placement: 'right'
    },
    {
      value: '長(zhǎng)按,左側(cè)復(fù)制',
      placement: 'left'
    },
    {
      value: '長(zhǎng)按,下側(cè)復(fù)制',
      placement: 'bottom'
    }]
  },

  handleTap(e) {
    this.setData({ evt: e })
  }
})


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)