input 框内容只能添加不能删除?

这篇博客介绍了如何在不依赖特定框架如Vue或React的情况下,利用原生JavaScript实现一个输入框的功能,使得用户在提交后再次编辑时只能添加内容而不能删除原有的文字。通过引入中间变量记录数据长度,并在keydown事件中进行判断,阻止用户回退删除操作。代码示例中展示了模板、脚本和样式部分,适用于简单的文本输入场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中有时候需求是这样的?

输入框的内容设置好,提交后,再次编辑的时候只能添加不能删除原有的功能?

在这里插入图片描述
在这里插入图片描述

可以采用一个比较简易的,网上的一些方法过于繁琐!无需区分vue、react框架限制,采用原生实现比较简单点,实现思路:引入一个中间量,记录数据,根据length来做判断!!!废话不多说,上代码!!!!
 <template>
  <div>
    <div class="task-form-item-box">
      <input
        type="text"
        v-model="value"
        @keydown="down"
        placeholder="以逗号隔开"
        class="task-form-item-ipn"
      />
    </div>
    <el-button @click="handleOk" type="primary" style="margin: 10px; float: left"
      >提交</el-button
    >
  </div>
</template>

<script>
export default {
  data() {
    return {
      value: "",
      oldValue: "",
    };
  },
  methods: {
    down(e) {
      let old = this.oldValue.length;
      let nval = this.value.length;
      if (nval <= old) {
        if (e.keyCode === 8) {
          e.preventDefault();
        }
      }
    },
    handleOk() {
      this.oldValue = this.value;
    },
  },
};
</script>

<style lang="scss" scoped>
.task-form-item-box {
  width: 200px;
  height: 35px;
  line-height: 35px;
  border: #dcdfe6 1px solid;
  padding-left: 12px;
  box-sizing: border-box;
  border-radius: 4px;
}

.task-form-item-ipn {
  width: 180px;
  height: 25px;
  border: none;
  outline: none;
}
.task-form-item-ipn::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #c0c4cc;
  font-size: 12px;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值