2017-04-27 56 views
0

我有下面的選擇框多選在AngularJS 2

<select multiselect name="BodyColor.Default" [(ngModel)]="BodyColor.Default"> 
    <option *ngFor="let z of BodyColor.Options" value={{z.OptionID}}> 
     {{z.OptionID}} 
    </option> 
</select> 

是否有可能挽救這個多選,如果BodyColor.Defaultstring型。

我正在使用它作爲我用於顯示數據的JSON結構的一部分,我無法更改它的數據類型。

或者當我想要將HTML文件轉換爲數組類型時,是否可以根據需要更改BodyColor.Default的數據類型。

這裏是JSON

"Attributes": [ 
     { 
      "AttributeID": "Body Color", 
      "Options": [ 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Aluminum", 
       "Description": "Aluminum", 
       "Position": 1.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Black", 
       "Description": "Black", 
       "Position": 2.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Blue Cobalt-2747C", 
       "Description": "Blue Cobalt-2747C", 
       "Position": 3.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Blue Midnight-295C", 
       "Description": "Blue Midnight-295C", 
       "Position": 4.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Blue-Costco-286C", 
       "Description": "Blue-Costco-286C", 
       "Position": 5.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Blue-P2955C", 
       "Description": "Blue-P2955C", 
       "Position": 6.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Camo", 
       "Description": "Camo", 
       "Position": 7.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Chrome", 
       "Description": "Chrome", 
       "Position": 8.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Cinnamon", 
       "Description": "Cinnamon", 
       "Position": 9.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Copper", 
       "Description": "Copper", 
       "Position": 10.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Green-357C", 
       "Description": "Green-357C", 
       "Position": 11.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Gunmetal-7C", 
       "Description": "Gunmetal-7C", 
       "Position": 12.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "N/A", 
       "Description": "N/A", 
       "Position": 13.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "OD Green-7771C", 
       "Description": "OD Green-7771C", 
       "Position": 14.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Onyx", 
       "Description": "Onyx", 
       "Position": 15.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Orange", 
       "Description": "Orange", 
       "Position": 16.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Pewter-6C", 
       "Description": "Pewter-6C", 
       "Position": 17.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Platinum", 
       "Description": "Platinum", 
       "Position": 18.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Red-200C", 
       "Description": "Red-200C", 
       "Position": 19.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Red-202C", 
       "Description": "Red-202C", 
       "Position": 20.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Slate-10C", 
       "Description": "Slate-10C", 
       "Position": 21.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "Stainless", 
       "Description": "Stainless", 
       "Position": 22.000000000, 
       "Default": false 
      }, 
      { 
       "AttributeID": "Body Color", 
       "OptionID": "White", 
       "Description": "White", 
       "Position": 23.000000000, 
       "Default": false 
      } 
      ], 
      "Description": "Body Color", 
      "InputType": "Multiple Select", 
      "Default": "", 
      "Required": false, 
      "EpicorOnly": false 
     }, 

編輯:那麼,什麼似乎發生的是,它保存的數據,但在abgular values.map引發此錯誤是不是一個功能。我看到角度自動將字符串轉換爲數組,並保存該值,但稍後會引發此錯誤。

回答

0

你可以嘗試改變數據類型爲字符串還是數組? 例如:private Testing: string[] | string;

+0

我可以更改HTML內? – user1221989

+0

不需要。您必須在組件中執行此操作。 – prashanth