可复制的el-button组件

view视图层

  <!-- 使用双重嵌套结构 -->
          <el-button class="selectable-button" type="text" @click="handleAgentDetail(data.row, 1)">
            <span  ref="textSpan" class="selectable-text"   draggable="true" @dragstart="handleDragStart" @mousedown.stop @mouseup.stop
            >{{ data.row.agentName }}</span>
          </el-button>

js逻辑

    handleAgentDetail(row, type) {
    },
    handleDragStart(event) {
      const text = this.$refs.textSpan.innerText;
      event.dataTransfer.setData("text/plain", text);
      // console.log("开始拖动,复制内容:", text);
    },

css样式

.selectable-button {
  position: relative;

}
.selectable-button :active {
  pointer-events: none; /* 解决部分浏览器按下时的冲突 */
}
.selectable-text {
  user-select: text;
  cursor: grab;
  display: inline-block;
  //padding: 0 10px;

  width: 100%;
  height: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  color: #1890ff;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容