vue父组件修改子组件的值

332 阅读1分钟

最近在uniapp项目中封装了键盘组件,键盘内部维护的是自己的字符串(增删之后向外发射).

需求: 点击确认时,在外部清空内部字符串的值.

<template>
  <view class="password">
    <view class="ps_left">
      <view style="width: 500rpx;height: 300rpx;">
          <uni-easyinput class="psInput" v-model="ps"
          placeholder="请输入"
          ></uni-easyinput>
      </view>
    <view class="ps_right"><f-keyboard :show="true" 
        :value="ps" @change="change" @confirm="confirm">
    </f-keyboard></view>
  </view>
</template>
<script>
  import mixin from '@/common/utils/mixin.js'
export default {
  data() {
    return {
      ps: '',
    };
  },
  methods: {
    change(res) {
      this.ps = res;
    },
    confirm() {
      this.$emit('result', this.ps);
    },
  }
};
</script>

image.png

处理方式(在父中清空子定义的data值):

1. this.$refs.xx.data = ''

2. 发射事件之前进行处理

ps: 目前只知道这二种方式,大家有什么更好的办法呢?