跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 子组件怎么知道自己需要提交?
未分類
30 8 月 2021

子组件怎么知道自己需要提交?

子组件怎么知道自己需要提交?

資深大佬 : gromit1337 7

循环子组件,数据通过 props 传递,其中一个编辑完了之后在外面点击提交,怎么拿到子组件的数据? 大概就是这么个情况,想半天没想出来 子组件怎么知道自己需要提交?

大佬有話說 (16)

  • 資深大佬 : EscYezi

    用 store 模式可以(貌似不应该这样做

  • 資深大佬 : dvsilch

    我是把数据放在父组件维护,给子组件的数据加上.sync 修饰符,然后 emit(‘update: propsName’)保证数据同步

  • 資深大佬 : xiaoming1992

    既然通过 props 传递,那子组件就应该在 onchange 或者 onblur 的时候将自身的状态往父组件抛。或者也可以用 ref,让父组件持有子组件的引用也行。

  • 資深大佬 : SxqSachin

    父组件持有数据,子组件变动时反馈给父组件

  • 主 資深大佬 : gromit1337

    @dvsilch #2 3.x 现在是用 v-model 我试了,好像不可以和 v-for 一起用

  • 主 資深大佬 : gromit1337

    @SxqSachin #4 外面点击提交,编辑状态的子组件怎么知道自己该提交了

  • 資深大佬 : suyi2015

    父组件设计数据结构 存储 子组件的取值函数(子组件初始化完成后进行设置)。
    提交时父组件依次调用各个取值函数组装出完整数据。

  • 資深大佬 : RexG

    可以在 v-for 中给子组件设置 ref,例如 :ref='”test”+item.id’ 然后提交是的时候遍历 refs,触发子组件内部函数,函数体当然是返回子组件数据或者其他你希望的操作。
    当然正常情况应该是把数据交给父组件保存,子组件只负责通过 emit 修改数据,不太清楚你这个循环子组件是干什么的?

  • 資深大佬 : Kimen

    最简单的就是用 ref,还有就是 vue-bus 或者 vuex,都可以

  • 資深大佬 : dvsilch

    @gromit1337 https://v3.cn.vuejs.org/guide/migration/v-model.html#%E4%BD%BF%E7%94%A8-v-bind-sync

  • 主 資深大佬 : gromit1337

    @RexG #8 数据是在父组件里的,但是子组件里会修改

  • 資深大佬 : shintendo

    @gromit1337 外面点击提交,编辑状态的子组件怎么知道自己该提交了
    ————-
    都说父组件持有数据了,子组件不需要知道

  • 資深大佬 : shintendo

    @gromit1337 数据是在父组件里的,但是子组件里会修改
    ———–
    修改的时候通知父组件,而不是提交的时候

  • 資深大佬 : summerLast

    有三种方式
    1 $emit
    2 $refs
    3 vuex

  • 資深大佬 : summerLast

    @summerLast v-model 和第一种类是

  • 資深大佬 : dvsilch

    @gromit1337 你可能没有在 set 函数里进行$emit 通知父组件更新,因为这个值就是在父组件维护的

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具