<模板> <選擇名稱={{selector_name}} 類別=“組合框” id={{selector_id}}> v-for=在 {{selector_options}} 中選擇 <選項值=opt> 選擇 </選項> </選擇> </範本> <腳本> 導出預設值{ 名稱:'組合框', 數據() { 返回 { 選擇器名稱:空, 選擇器_id:空, 選擇器選項:空, } }, 道具: { 選擇器名稱:{ 類型:字串, 必填:真實 }, 選擇器 ID:{ 類型:字串, 預設值:“組合框” }, 選擇器選項:{ 類型:數組, 必填:真實 } }, 方法: { onChange: (事件) => { console.log(event.target.value); }, }, 計算:{}, } </腳本> </前> <p>但我用<code>v-for</code>的方式對我來說似乎不正確,你能告訴我如何修正嗎?提前致謝。</p>
P粉6161110382023-09-04 16:19:58
我看到很多東西,為了清楚回答你的問題,v-for是用在元素上的。
<template> // For mor readability i recommend you do bind your property: // - name={{selector_name}} become :name="selector_name" <select :name="selector_name" class= "combobox" :id="selector_id"> <!-- v-for is required with a unique key, you can take the index and use it --> <option v-for="(opt, index) in selector_options" :key="`opt ${index}`" value=opt> {{ opt }} </option> </select> </template>
您不能定義同名的 props 和 data。 Props,在資料中註入屬性和值。 完全相同,但資料來自父級,您可以在父級中將值傳遞給子級。
因此,如果您需要傳遞數據,請使用 props,但不要在數據內部定義它。
有一個工作範例所有這些(我使用資料而不是道具來提高可讀性)。 < /p>