gpt4 book ai didi

javascript - 如何从 JS 更改 v-model 值

转载 作者:行者123 更新时间:2023-11-30 19:31:49 25 4
gpt4 key购买 nike

我正在使用 Google 自动填充地址表单。我找到了 example在谷歌官方网页。一切安好。一切正常!但它是原生 Javascript,

我有 Vue 应用程序,但我不喜欢从 JS 脚本更改文本输入值的方式。 我的想法是,当我在主要输入中更改某些内容时,JS 事件监听器应该更改其他输入的值:

 document.getElementById(addressType).value = val;

问题是我应该使用“文档”来更改值:

 document.getElementById('street_number').value

我想要像 tat 这样的东西:

 <input type="text" v-model="input.address" ref="addressRef">

并读取值:

export default {
data() {
return {
input: {
address: "",
...
}

};
},
methods: {
test() {
console.log(this.input.address);
console.log(this.$refs.addressRef);
}
}

那么问题是:

  • 如何通过 JS 代码设置值来更新绑定(bind)值?现在值为空,因为我使用“getElementById("id").value = val"

最佳答案

之后您可以发出 input 事件,v-model 依赖于更新其 value:

let el = document.getElementById("id");
el.value = val;
el.dispatchEvent(new Event('input'));

在行动中:

Vue.config.devtools = false

const app = new Vue({
el: '#app',

data: {
message: null
},

methods: {
updateBinding() {
let el = document.getElementById("input");
el.value = 'Hello!';
el.dispatchEvent(new Event('input'));
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<button @click="updateBinding">Click me </button><br>
<input id="input" v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>
</div>

关于javascript - 如何从 JS 更改 v-model 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56348513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com