uni-app app端input输入框输入两个减号自动变为一个长横线

发布于 1周前 作者 phonegap100 来自 Uni-App

uni-app app端input输入框输入两个减号自动变为一个长横线

类别 信息
产品分类 uniapp/App
PC开发环境 Mac
PC操作系统版本 14.5 (23F79)
HBuilderX类型 正式
HBuilderX版本 4.24
手机系统 iOS
手机系统版本 iOS 16
手机厂商 苹果
手机机型 iphone13
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 随便一个input都可以复现

预期结果:


实际结果:



3 回复

这只是显示的问题,不影响你使用组件吧


你说的“一个横线”是一个字符吗?使用的是苹果自带键盘吗?如果是的话,可以把原生键盘的智能标点关了试试看

在uni-app中,我们可以通过监听输入框的输入事件来实现将两个连续的减号(--)替换为一个长横线()。以下是一个简单的代码示例,展示了如何在uni-app的app端实现这个功能。

首先,确保你的项目已经正确配置了uni-app的基本结构。然后,在页面的.vue文件中添加以下代码:

<template>
  <view class="content">
    <input
      type="text"
      v-model="inputValue"
      @input="handleInput"
      placeholder="请输入内容"
    />
    <view>{{ inputValue }}</view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    };
  },
  methods: {
    handleInput(event) {
      // 获取输入框的值
      let value = event.target.value;
      
      // 使用正则表达式替换两个连续的减号为长横线
      value = value.replace(/--/g, '—');
      
      // 更新数据绑定
      this.inputValue = value;
    }
  }
};
</script>

<style>
.content {
  padding: 20px;
}
input {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  box-sizing: border-box;
}
</style>

在这个示例中,我们做了以下几件事情:

  1. 模板部分:创建了一个输入框和一个用于显示当前输入值的视图。输入框绑定了v-modelinputValue数据属性,并监听了@input事件,该事件在输入内容变化时触发。

  2. 脚本部分:在data函数中定义了一个inputValue属性来存储输入框的值。在handleInput方法中,我们通过事件对象获取到输入框的当前值,然后使用正则表达式/--/g匹配所有连续的减号,并将它们替换为长横线。最后,更新inputValue数据属性以反映变化。

  3. 样式部分:简单地设置了一些样式,使输入框和显示区域更加美观。

这样,当你在app端的输入框中输入两个连续的减号时,它们会自动被替换为一个长横线。这个实现方式利用了Vue的数据绑定和事件处理机制,以及JavaScript的正则表达式功能,非常高效且易于理解。

回到顶部