vue在光标处加入内容

需求:选择下拉框内容,光标处加入下拉框内容,然后清空下拉框

界面:
在这里插入图片描述
在内容中输入,然后下拉框中选择内容,输入框中自动加上{下拉框选的内容},然后清空下拉框.

具体代码实现为:

		<el-input
            v-model="form.text"
            type="textarea"
            maxlength="4000"
            size="mini"
            rows="6"
            @change="handleChangeContent"
            @blur="campaignNameBlur"
          ></el-input>
          
		<el-select
            v-model="form.textVariable"
            placeholder="变量"
            class="ml-10"
            size="mini"
            @change="handleChangeContent"
          >
            <el-option v-for="item in textOptions" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
	/**
     * @description 获取焦点事件
     */
    campaignNameBlur(e) {
      this.campaignNameIndex = e.srcElement.selectionStart;
    },
	/**
     * @description 改变内容后面下拉框的时候
     */
    handleTextVariable(val) {
      if (this.form.text) {
        let index = this.campaignNameIndex;
        let name = this.form.text;
        this.form.text = name.slice(0, index) + `{${val}}` + name.slice(index);
      } else {
        this.form.text = `{${val}}`;
      }
    }

 
	/**
     * @description 改变通知设置的内容
     */
    handleChangeContent() {
      let content;
      if (this.form.textVariable) {
        this.handleTextVariable(this.form.textVariable);
        this.form.textVariable = '';
      }
      //加载到xml中  不需要的可以去掉
      content = `${this.form.text}`;
      this.updateCurrentExtensions(
        'flowable:Field',
        this.bpmnInstances.moddle.create('flowable:Field', {name: 'content', string: content}),
        'content'
      );
    },

有一个更简单的demo 比这个少一些交互
参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Vue 3中,要在光标添加表情,你可以使用自定义指令来实现。下面是一个简单的示例,展示了如何在光标添加表情: 首先,你需要创建一个自定义指令,命名为`v-cursor-emoji`。在你的Vue组件中,创建一个新的Vue实例,并在其中定义该指令。 ```javascript // 创建Vue实例 const app = new Vue({ el: '#app', // ...其他选项 }); ``` 接下来,在你的Vue组件模板中,使用自定义指令来绑定光标的表情。你可以使用`v-bind`指令将自定义指令绑定到元素上。 ```html <template> <div> <p> <!-- 在光标添加表情 --> <span v-cursor-emoji="emoji"></span> </p> </div> </template> ``` 在上面的代码中,`v-cursor-emoji`指令接受一个参数`emoji`,它是一个变量或表达式,用于指定要显示的表情。你可以根据需要将这个参数替换为你想要使用的表情变量或表达式。 为了实现光标检测,你可能需要使用一些JavaScript代码来监听输入事件并检测光标位置。这通常涉及到监听`mousemove`或`keydown`事件,并检查光标是否在特定的元素上。具体的实现方式取决于你的具体需求和环境。 请注意,这只是一个简单的示例,你可能需要根据你的具体需求进行适当的调整和扩展。此外,确保你的Vue版本是3.x,并且你已经在项目中正确配置了Vue。 希望这个回答对你有所帮助!如果你有任何其他问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

echo忘川

谢谢老板们

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值