將 json 的兩個值取得到 <b-form-select> 文字欄位中
P粉752826008
P粉752826008 2024-03-26 21:32:49
0
1
457

我正在使用 BootstrapVue

我有一個具有以下結構的 json:

[
    {"ID": "123", "Name": "Harry", "Age": "22"},
    {"ID": "456", "Name": "Harry", "Age": "18"},
    {"ID": "789", "Name": "Peter", "Age": "20"},
    {"ID": "159", "Name": "Peter", "Age": "19"},
]

所以至少,為了明確一點,每個資料- 基於NameAge 一起- 都是唯一,也沒有ID (!)。這只是為了更容易理解而舉的例子。

我現在嘗試做的是在 <b-form-select> 中顯示 Name ,並在後面的括號中顯示 Age 。例如:Peter (20)

現在我有以下程式碼:

<b-form-select :options="sortedPersons" text-field="Name" value-field="ID"></b-form-select>

我需要將 value 傳遞給我的 parent.vue 但想在其中顯示文字。所以我決定這樣做。

我現在唯一需要的就是獲得關注。這個例子只是為了展示我想要的:

:text-field="'姓名' ' ' '(' '年齡' ')'",但這不起作用。

如何讓它運作?

其他資訊 - 我在 compulated 中運行我的 json 之前對其進行排序。

sortedPersons() {
  var array = this.json.map((input) => input);
  return array.sort((a, b) => {
    if (a < b) return -1;
    if (a > b) return 1;
    return 0;
  });
},

提前致謝!

P粉752826008
P粉752826008

全部回覆(1)
P粉659516906

您需要映射數據,以便將所需的文字格式化為單一屬性,或使用options 屬性刪除,然後使用v-for 手動建立< option> 標記。 p>

new Vue({
  el: "#app",
  data() {
    return {
      selected: '',
      options: [
          {"ID": "123", "Name": "Harry", "Age": "22"},
          {"ID": "456", "Name": "Harry", "Age": "18"},
          {"ID": "789", "Name": "Peter", "Age": "20"},
          {"ID": "159", "Name": "Peter", "Age": "19"},
      ]
    };
  }
});
[email protected]/dist/css/bootstrap.min.css" />
sssccc
sssccc


Selected: {{ selected }}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板