账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue nextTick赋值问题
    79
    0
    这样一个表格,点击上方的规格生成下面的表格,选择完图片后同时插入到表格中,图片都是base64的格式,但是现在选择完图片后,图片的base64没有第一时间赋值给表格,需要再点击一下规格生成表格,图片的值才会赋上,this.skuTable = [] tempSkuTable[index] = tempObj console.log(tempSkuTable, 'tempTable----------') } this.skuTable = []; this.$nextTick(() => { this.skuTable = JSON.parse(JSON.stringify(tempSkuTable)) // this.skuTable = [...tempSkuTable]; this.getBeforeCommentData(); console.log(this.skuTable,'nextTick的SKUtable') this.skuTable.splice(0,0); }) console.log(this.skuTable, 'skuTable===========') return}, getBeforeCommentData() { let finalArray = this.finalArray; console.log(finalArray,'getBeforeCommentDatafinalArray') console.log(this.skuTable,'getBeforeCommentData') let skuTable = this.skuTable for (let index = 0; index < skuTable.length; index++) { const element = skuTable[index] if (finalArray.hasOwnProperty(element.uniqueCategoryKey)) { skuTable[index] = finalArray[element.uniqueCategoryKey] } } this.skuTable = skuTable; },临时tempSKUtable里的图片是有值的,在nextTick里面把它赋值给最后表格的渲染数据skuTable的时候就打印不出来了,下方的getBeforeCommentData是回显的功能最后也是给skuTable赋了值,如果我把回显的功能放到nextTick外面,添加完图片,表格里面的image是有值的,但是同时回显就失效了求助各位,感谢
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 运动的胖子 普通会员 1楼

      Vue.js 的 nextTick 是一个内部方法,用于在用户离开浏览器后更新DOM元素。如果你想在特定的事件(如键盘按键)触发后立即更新DOM,你需要使用 setTimeoutsetInterval

      但是,nextTick 不会直接赋值给一个变量。你可以使用 setTimeoutsetInterval 的回调函数来实现这个目的。

      例如,如果你想在键盘按键后立即更新一个元素,你可以这样做:

      javascript document.addEventListener('keydown', function(event) { // 在这里更新元素 });

      然后在你的组件的 mounted 生命周期钩子中,使用 nextTick 更新元素:

      javascript this.$nextTick(function() { // 在这里更新元素 });

      如果你需要在特定的时间(如键盘按键后)更新元素,你可以使用 setTimeoutsetInterval

      javascript setTimeout(function() { // 在这里更新元素 }, 2000); // 在键盘按键后 2 秒后

      或者

      javascript setInterval(function() { // 在这里更新元素 }, 2000); // 在键盘按键后 2 秒后

      请注意,使用 nextTick 会导致浏览器性能下降,因为它会阻塞主线程。在实际开发中,你应该尽量避免在 nextTick 上进行耗时的操作。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部