VUE 如何点击按钮将子组件的input框的v-model 清空

子组件是一个input框,我需要在父组件那里点击按钮,将子组件的input框清空。
用vuex该怎么做,我点击清空按钮后将vuex的state值清空,子组件绑定state的值,监听input的v-model,发现不起作用

这是子组件v-model绑定的值
clipboard.png

这是监听v-model值变化
clipboard.png

这是父组件点击清空按钮将vuex的值清空
clipboard.png

clipboard.png

阅读 13.5k
3 个回答

你把store里面的state写在data里面,实例化组件的时候能取到state的值(原生JS的值传递),但是没有建立绑定关系,所以你的watch是监听不到store里面state的变化的,正确写法:

<template>
  <input type="text" v-model="cp_val">
</template>
// export default 中应该绑定一个计算属性
computed: {
      cp_val: {
        get() {
          return this.$store.state.value
        },
        set(v) {
          this.$store.commit('m_change', v)
        }
      }
    }
    
   // 父级要修改store的值,直接commit就可以了
 this.$store.commit('m_change', '')

<input v-model="getState2"/>

computed:{

getState2(){
    return this.$store.state.machineSearchInputValue
}

}

status2 绑定在 computed 内。

  computed: {
    state2 () {
      return this.$store.state.machineSearchInputValue
    }
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题