我刚接触Vue.js,现在遇到了两个小时的问题:
我尝试显示具有自定义渲染功能的v-autocomplete
,一旦选择了某些内容,我想使用提交按钮(无火箭科学)将其发送到服务器。
我的代码如下:
<form action="{{ url_for('admin.create_job_from_admin') }}" method="POST">
<div id="app">
<v-app>
<div class="container">
<h2>Choose a customer</h2>
<div class="row">
<div class="col-10">
<v-autocomplete
label="Company or Email"
:items="clients"
:item-text="all_text"
item-value="email"
name="email">
</v-autocomplete>
</div>
<div class="col-2">
<v-btn type="submit" color="primary">Submit</v-btn>
</div>
</div>
</div>
</v-app>
</div>
</form>
脚本如下:
<script>
var clients = {{ clients|safe or {} }};
var app = new Vue({
el: '#app',
vuetify: new Vuetify(),
computed: {
clients() {
return clients;
}
},
methods: {
all_text: r => `${r['company']} - ${r['email']} (${r['company_id']})`,
}
});
</script>
所以基本上可以正常工作,但是我有一个问题,当我单击按钮时,它会将all_text(r)
的结果发送到服务器,而对我来说,它应该仅发送客户的电子邮件地址(如果我理解了item-value
正在执行)。
如何将仅电子邮件地址发送到服务器?