A data provider:
is a container of data set
provides APIs to view components so then can interact with data
emit data mutation events
protected render(): VComponent.VNode { const browsers = [ { value: 'IE', label: 'Internet Explorer' }, { value: 'FF', label: 'Firefox' }, { value: 'CH', label: 'Chrome' }, { value: 'OP', label: 'Opera' }, { value: 'SA', label: 'Safari' } ]; return <oj-combobox-many options={new ArrayDataProvider(browsers)}></oj-combobox-many>; }
Use data provider if you want to:
protected render(): VComponent.VNode { const employees = [ { id: '1', firstName: 'Alex', lastName: 'Li' }, { id: '2', firstName: 'Jack', lastName: 'Rui' } ]; const dataMapping: any = ({ data }) => { const { firstName, lastName, id } = data; return { data: { value: id, label: `${lastName}, ${firstName}` }, metadata: { key: id } }; }; const dataProvider = new ListDataProviderView(new ArrayDataProvider(employees), { dataMapping }); return <oj-combobox-many options={dataProvider}></oj-combobox-many>; }
Pre-defined features: