Hello Support,
I have a hard time initializing my multiselect component with values from the database.
:fields="{ text: 'name', value: 'id'}" placeholder='Choose categories'>
The component gets the list of values from a list called categoriesList – it gets populated fine:
[
{
"id":1,
"name":"cat1"
},
{
"id":2,
"name":"cat2"
},
{
"id":3,
"name":"cat3"
},
{
"id":4,
"name":"cat4"
}
]
The component gets the list of already selected items from my form’s data – those values do not appear:
{
"id":6,
"reference":"117000B000340",
"Categories":[
{
"id":1,
"name":"cat1",
},
{
"id":2,
"name":"cat2",
}
]
}
Thanks for your help !
Julien
|
var data = {
id: 6,
reference: "117000B000340",
Categories: [
{
id: 1,
name: "cat1",
},
{
id: 2,
name: "cat2",
},
],
};
export default {
data() {
return {
sportsData: [
{
id: 1,
name: "cat1",
},
{
id: 2,
name: "cat2",
},
{
id: 3,
name: "cat3",
},
{
id: 4,
name: "cat4",
},
],
fields: { text: "name", value: "id" },
value: [data.Categories[0].id, data.Categories[1].id],
};
}, |
|
<ejs-multiselect
ref="multiObj"
:select="OnSelect"
id="multiselect"
:value="value"
:dataSource="sportsData"
:fields="fields"
placeholder="Select a game"
></ejs-multiselect>
methods: {
OnSelect: function (args) {
console.log(args.itemData);
},
|
Hello,
Thanks for your help, I am getting closer.
In your sample, now suppose the 'data' and the 'sportsData' both come from an API call.
My goal is to have something like this :
<ejs-multiselect ref="ms" id="ms" v-model="data.Categories" :dataSource="sportsData" :fields="{ text: 'name', value: 'id'}" placeholder="Choose categories"></ejs-multiselect>
Possible ?
What would be the order for databinding ? first datasource, then value ?
Thank you again
Julien