[英]Update two data values using a Select input and v-model
我有一個簡單的 Select 輸入,使用 v-model 綁定到數據屬性( device_id
):
<select v-model="device_id">
<option disabled value="">Choose a device</option>
<option v-for="device in devices" v-bind:value="device.id">
{{ device.name }}
</option>
</select>
當用戶選擇設備時, this.device_id
會自動更新,這很棒! 然后我可以將其保存到我的數據庫中。
但是......我也想保存this.device_name
並且在我的一生中,當用戶單擊一個選項時,我無法弄清楚如何“綁定”或更新this.device_id
和this.device_name
。
我嘗試將@click="updateName(device.name)"
到我的<option>
標記中,然后該方法將更新第二個數據屬性。
然而,這只適用於 Firefox,因為其他瀏覽器不會在<option>
上觸發點擊事件。 此外,它感覺像是一種奇怪/hacky 的方式來做到這一點。
為了清楚起見,我的問題是:當用戶單擊一個選項時,如何更新兩個數據屬性?
我相信有一種“正確”的方式,我很想聽聽你的想法! 這感覺是一個非常簡單的問題,但我似乎無法弄清楚-_-
提前致謝!
嘗試將選項值綁定到整個對象,然后使用所選對象的屬性,例如:
<select v-model="selected_device">
<option disabled value="">Choose a device</option>
<option v-for="device in devices" v-bind:value="device">
{{ device.name }}
</option>
</select>
將 id 發送到您的數據庫只需使用this.selected_device.id
,您也可以使用selected_device.name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.