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

AngularJS实现输入框清除与恢复原值功能问题求助

问题分析与解决方案

问题根源

你当前c.clicks()函数里的!''是JavaScript布尔运算:空字符串''属于JS假值,取反后得到true,所以点击Click2时输入框会显示true,这完全不是恢复原值的逻辑。

正确实现思路

要实现「清除-恢复」功能,核心是在清除前先保存输入框的原始值,恢复时直接把保存的值赋值回去。

修改后的完整代码

HTML部分

<input ng-model="c.filterName">
<button ng-click="c.clearInput()">Click 1</button>
<button ng-click="c.restoreInput()">Click 2</button>

控制器JS部分

// 初始化时先保存输入框的初始值
c.originalFilterName = c.filterName;

// 清除输入框函数
c.clearInput = function(){
    // 每次清除前,更新保存的当前值(支持多次修改后清除-恢复)
    c.originalFilterName = c.filterName;
    c.filterName = '';
}

// 恢复输入框原值函数
c.restoreInput = function(){
    c.filterName = c.originalFilterName;
}

补充说明

  • 如果只需要恢复页面加载时的初始值,可去掉clearInput里的c.originalFilterName = c.filterName,仅保留初始化时的赋值即可。
  • 如果要支持用户修改输入内容后多次执行清除-恢复,保留clearInput里的赋值逻辑,确保每次保存的都是清除前的最新值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:32:03