@SelectorParam

From Documentation
Revision as of 07:31, 8 February 2012 by Hawk (talk | contribs) (Created page with "{{ZKDevelopersReferencePageHeader}} = Syntax = <source lang="java"> @SelectorParam("#componentId") @SelectorParam("tagName") @SelectorParam(".className") @SelectorParam(":...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Syntax

@SelectorParam("#componentId")

@SelectorParam("tagName")

@SelectorParam(".className")

@SelectorParam(":root")

@SelectorParam("button[label='Submit']")

@SelectorParam("window > button")

For selector syntax, please refer: SelectorComposer

Description

Target: A method's parameter (initial method and command method)

Purpose: To identify that a method's parameter should be retrieved from view component of the binder.

The value element is the selector to find components. It uses Selectors to select the components. The base component of the selector is the view component of the binder, the component which uses ViewModel.

If the parameter type is a Collection, binder passes the result directly. Otherwise it passes the first result or null if no result.

Example

	<vbox apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('foo.SelectorParamVM')">
		
		<hbox><label id="message" /></hbox>
		<hbox><label /></hbox>
		<hbox><label /></hbox>
		<hbox><label /></hbox>

		<button id="cmd" label="cmd" onClick="@command('cmd')" />
	</vbox>


Example to pass components by selector

public class SelectorParamVM {

	@Command
	public void cmd(@SelectorParam("label") LinkedList<Label> labels, @SelectorParam("#message") Label msg) {
		for (int i = 0; i < labels.size(); i++) {
			labels.get(i).setValue("Command " + i);
		}
		msg.setValue("msg in command");
	}
}



Last Update : 2012/02/08

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.