cell_attr.value = computed(() => {
return cellBlurCheck(cell_attr, cell_attr.proto)
}) <input :value=cell_attr.value /> 有没办法在编辑时,暂停计算属性
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
一个Vue中 困扰了很久的问题,请教大家有没办法在编辑时,暂停计算属性
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 吃西瓜不吐籽_ 2023-09-05 16:51关注
在 Vue 中,计算属性是根据其依赖的响应式数据来实时计算的。如果你想在编辑输入框时暂停计算属性的计算,可以使用
v-model
指令结合@input
事件来手动控制计算属性的更新。首先,修改输入框的绑定,使用
v-model
来实现双向数据绑定,并在@input
事件中触发一个方法:<input v-model="inputValue" @input="handleInput" />
接下来,在 Vue 实例中定义
inputValue
和计算属性,并创建一个标志位来控制计算属性的计算:data() { return { inputValue: '', shouldCompute: true, computedValue: '' }; }, computed: { cellAttrValue() { if (this.shouldCompute) { return this.cellBlurCheck(this.inputValue, this.cell_attr.proto); } else { return this.inputValue; } } }, methods: { handleInput(event) { this.shouldCompute = false; // 暂停计算属性的计算 this.inputValue = event.target.value; // 更新输入框的值 // 其他逻辑处理... }, cellBlurCheck(value, proto) { // 执行计算属性的计算逻辑 // 返回计算结果 } }
在上述代码中,我们通过
handleInput
方法来处理输入框的输入事件。在该方法中,我们将shouldCompute
标志位设置为false
,以暂停计算属性的计算。然后,更新输入框的值。在计算属性
cellAttrValue
中,我们根据shouldCompute
的值来决定返回计算属性的计算结果还是输入框的值。这样,当你编辑输入框时,计算属性的计算会被暂停,直到你需要重新开始计算。
希望这个方法能够解决你的问题。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥200 csgo2的viewmatrix值是否还有别的获取方式
- ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
- ¥15 请把下列每一行代码完整地读懂并注释出来
- ¥15 pycharm运行main文件,显示没有conda环境
- ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
- ¥15 为什么eclipse不能再下载了?
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题
- ¥50 如何将脑的图像投影到颅骨上