<template>
<div class="commentBar">
<van-field
:value="msg"
center
clearable
placeholder="发条评论吧"
maxlength="150"
@change="
({ detail }) => {
this.msg = detail;
}
">
<template
#button
v-if="msg.length > 0">
<button
class="btn-send"
@click="sendMsg">
发送
</button>
</template>
</van-field>
</div>
</template>
<script>
export default {
data() {
return {
msg: "",
};
},
methods: {
sendMsg() {
console.log("sendMsg from child component", this.msg);
this.$emit("sendMsg", this.msg);
},
},
};
</script>
这里若直接使用senMsg向父组件传递msg时,父组件拿到的一直为空,不知道什么原因导致的,后面试试使用uniapp自带的easy-input就没这个问题,此处使用@change监听输入值变化,给msg动态赋值即可。