想问一下大佬关于vue ref获取input值的问题?
想要获取到input的value用value的长度去做判断,但是遇到了一点问题? input是element的el-input下面上代码
<el-input placeholder="请扫入条码" v-model="barId" clearable style="width: 70%;" v-on:input ="inputFunc" ref="barNo"></el-input>
这是布局的代码,末尾加了ref
inputFunc() {
console.log(this.$refs.barNo)
console.log(this.$refs.barNo.value)
const param = {
BarCode: this.barId
};
api.getbarcodeinfo(param).then(response => {
if (response.data.Success == false) {
this.$notify({
title: "失败",
message: response.data.Message,
type: "error",
duration: 2000
});
} else {
console.log(this.$refs.barNo.value)
// this.barId = "";
}
});
},
这是vue的代码 分别打印了3次input的value值,第一次console能获取到整个input包括里面的value也是有输入框中的值,第二个console的结果为一个null,第三次console却能够打印出value。觉得不太理解,vue文档今天不知道为什么打不开,所以想问一下大佬是什么原因需要怎么解决?谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以直接获取barId的值
正常情况第二个console.log是可以打印出value的,应该是其他地方有错,我按照你的代码是可以输出的
不要这样用。
ref
不是响应式的,之所以第3个有值是因为BarCode: this.barId
触发了get
进行了依赖收集。应该改成
watch
。