UNPKG

@salesforce/design-system-react

Version:

Salesforce Lightning Design System for React

100 lines (94 loc) 2.04 kB
/* eslint-disable no-console, react/prop-types */ import React from 'react'; import Combobox from '~/components/combobox'; import IconSettings from '~/components/icon-settings'; const accounts = [ { id: '1', label: 'Acme', subTitle: 'Account • San Francisco', type: 'account', }, { id: '2', label: 'Salesforce.com, Inc.', subTitle: 'Account • San Francisco', type: 'account', }, { id: '3', label: "Paddy's Pub", subTitle: 'Account • Boston, MA', type: 'account', }, { id: '4', label: 'Tyrell Corp', subTitle: 'Account • San Francisco, CA', type: 'account', }, { id: '5', label: 'Paper St. Soap Company', subTitle: 'Account • Beloit, WI', type: 'account', }, { id: '6', label: 'Nakatomi Investments', subTitle: 'Account • Chicago, IL', type: 'account', }, { id: '7', label: 'Acme Landscaping', type: 'account' }, { id: '8', label: 'Acme Construction', subTitle: 'Account • Grand Marais, MN', type: 'account', }, ]; class Example extends React.Component { constructor(props) { super(props); this.state = { inputValue: '', selection: [], }; } render() { return ( <IconSettings iconPath="/assets/icons"> <Combobox id="combobox-unique-id" events={{ onRequestRemoveSelectedOption: (event, data) => { this.setState({ inputValue: '', selection: data.selection, }); }, onSelect: (event, data) => { console.log('onSelect', data); this.setState({ inputValue: '', selection: data.selection, }); }, }} labels={{ label: 'Search', placeholder: 'Search Salesforce', }} menuPosition="relative" multiple options={accounts} selection={this.state.selection} value={this.state.inputValue} variant="readonly" /> </IconSettings> ); } } Example.displayName = 'ComboboxExample'; export default Example; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime