Select Remote
The
io.kvision.form.select.SelectRemoteInput
component, contained in kvision-select-remote
module, is a special component you can use to render a select box with options loaded from the server. SelectRemoteInput
is bound directly to the method of the remote service. The method signature looks like this:import io.kvision.annotations.KVService
import io.kvision.remote.SimpleRemoteOption
@KVService
interface IDictionaryService {
suspend fun dictionary(state: String?): List<SimpleRemoteOption>
}
The
state
parameter allows you to send optional, additional data to the backend service, with the help of the stateFunction
parameter of the SelectRemoteInput
constructor.The
SimpleRemoteOption
class is defined as:@Serializable
data class SimpleRemoteOption(
val value: String,
val text: String? = null
)
and allows to send value and label for every option.
To use
SelectRemote
form control, you initialize it with the ServiceManager
instance and a callable reference to the right method. SelectRemote(serviceManager = DictionaryServiceManager,
function = IDictionaryService::dictionary,
stateFunction = { someState.toString() },
label = "Select option from the dictionary"
)
Last modified 3mo ago