AbsaOSS / AbsaOSS/cps-shared-ui

Not possible to use a nested property for optionLabel/optionValue/optionInfo in CpsSelect

Open
#387 0 comments 0 reactions 1 assignee Claimed by @lukasmatta View on GitHub
enhancement
Dominant language
TypeScript
Stars
9
Forks
6
Avg merge
23h 46m
Merged PRs (30d)
5

Description

Currently, if one wants to use nested property for `optionLabel`/`optionValue`/`optionInfo` it's not possible. Let me illustrate on an example:

We have an array of options of the following type:

```ts
interface Option {
name: string;
address: {
city: string;
};
}
```

And we want to use it in a `CpsSelect`:

```html

>

```

I'd suggest supporting not only `string` type but also a `Function` type for those inputs, so that a user can define custom function that will take option object and would return value to be used for `optionLabel/Value/Info`, e.g.:

```js
const getCity = (option: Option): string => option.address.city;
```

```html

```

Components that might also support this:
`CpsSelect`/`CpsTreeSelect`
`CpsAutocomplete`/`CpsTreeAutocomplete`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.