el-select下拉选中的值粘贴到剪贴板

el-select组件的值再页面鼠标操作没有办法对选中的值进行复制,再粘贴到其他地方

可以利用组件@change,把选中的值粘贴到剪贴板。

代码如下,在选中值后,随便选择一个输入框,进行Ctrl+v,就可以看到效果了。

页面代码

<el-select v-model="dataForm.transType" @change="getSelectText">
    <el-option v-for="item in transTypeList" :key="item.dictValue" :label="item.dictName" :value="item.dictValue"></el-option>
  </el-select>

 数据

dataForm: {
   transType: ''
},
transTypeList: [
  { dictValue: 12, dictName: 'ceshi 1' },
  { dictValue: 13, dictName: 'ceshi 2' },
  { dictValue: 14, dictName: 'ceshi 3' },
  { dictValue: 15, dictName: 'ceshi 4' }
]

方法

getSelectText (e) {
      let label = this.transTypeList.filter(item => item.dictValue === e)[0].dictName
      let tempEle= document.createElement('input') // 创建一个输入框,先把要粘贴的值放进去
      tempEle.value = label // 赋值
      document.body.appendChild(tempEle)
      oInput.select() // 对输入框中的内容进行选中
      document.execCommand('Copy') // 浏览器复制方法
      oInput.className = 'tempEle' // 定义新加元素的样式
      oInput.style.display = 'none' // 新加元素没用了,做隐藏
    }

在Vue.js的el-select组件中,当用户选择了一个选项并点击提交按钮时,有时需要在表单验证中忽略已选择的选项(即已选中),因为这些通常被视为有效数据,不应该作为输入错误的原因。要实现这个功能,你可以采取以下步骤: 1. **阻止默认事件**:在用户点击提交按钮时,检查当前选中的option是否已被选中,如果是,则可以阻止其触发内置的`change`事件或表单的验证。 ```html <template> <el-form @submit.prevent="handleSubmit"> <el-select v-model="selectedValue" placeholder="请选择"> <!-- ... --> </el-select> <el-button type="primary" @click.stop="handleSubmit">提交</el-button> </el-form> </template> <script> export default { data() { return { selectedValue: '', }; }, methods: { handleSubmit(e) { if (!e.target.value || this.selectedValue === e.target.value) { // 检查是否有变化且非空 // 验证其他字段... this.$refs.yourForm.validate((valid) => { if (valid) { // 提交表单 } else { console.log('表单验证失败'); } }); } else { this.$refs.yourForm.validateField('yourField', { validateFunc: () => true }); // 忽略已选的验证 this.$refs.yourForm.validate(); } }, }, }; </script> ``` 在这个例子中,我们通过`@click.stop`阻止了表单的默认提交行为,并在`handleSubmit`方法中进行了判断。如果选中没有改变,就直接进行整体验证;如果有变化,先对其他字段验证,然后仅针对未选中的字段进行验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值