You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js实现输入框默认只读,点击按钮后可编辑的方法

实现输入框默认只读,点击铅笔图标后可编辑的方案

这事儿用Vue的响应式特性就能轻松搞定,我给你整理了具体的实现步骤和代码:

步骤1:添加控制状态的响应式数据

在你的Vue组件的data选项里,新增一个布尔值变量,用来控制输入框的可编辑状态:

data() {
  return {
    userDetails: {
      email: '',
      contactNumber: ''
    },
    isInputEditable: false // 默认不可编辑,对应输入框只读状态
  }
}

步骤2:给输入框绑定只读属性

修改你的输入框代码,通过:readonly指令绑定刚才定义的状态变量,让输入框默认处于只读状态:

<div> 
  <input 
    type="text" 
    placeholder="Example@scio.com" 
    v-model="userDetails.email"
    :readonly="!isInputEditable"
  > 
</div> 
<div> 
  <input 
    type="text" 
    placeholder="+91 860 420 3001" 
    v-model="userDetails.contactNumber"
    :readonly="!isInputEditable"
  > 
</div>

这里的逻辑是:当isInputEditable为false时,!isInputEditable就是true,输入框处于只读状态;反之则切换为可编辑。

步骤3:给铅笔图标添加点击事件

在你的触发元素(铅笔图标)上添加点击事件,切换isInputEditable的值,实现状态切换:

<img 
  class="pencil-image" 
  src="你的图标路径"
  @click="isInputEditable = !isInputEditable"
  alt="编辑图标"
>

如果你只需要点击一次后永久变为可编辑(不需要再切回只读),就把点击事件改成@click="isInputEditable = true"即可。

这样一来,页面加载时输入框默认是只读状态,点击铅笔图标后就会立刻变成可编辑状态啦~

内容的提问来源于stack exchange,提问作者user9563422

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:17:00