Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-4726

Cannot pass a parameter without @BindingParam

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Normal Normal
    • None
    • 9.5.0.1
    • Components
    • Security Level: Jimmy

      Steps to Reproduce

          <nodom viewModel="@('org.zkoss.mvvm.parameters.ParametersVM')">
      
          <grid id="outergrid" width="700px" model="@bind(vm.items)">
              <columns>
                  <column label="index"/>
                  <column label="name"/>
                  <column label="action" width="300px"/>
              </columns>
      
              <template name="model" var="item">
                  <row>
                      <label value="@bind(itemStatus.index)"/>
                      <label value="@bind(item)"/>
                      <hbox>
                          <button label="Index" onClick="@command('showIndex', index=itemStatus.index)"/>
                          <button label="Delete" onClick="@command('delete', item=item)"/>
                      </hbox>
                  </row>
              </template>
          </grid>
              <label value="@load(vm.message)"/>
          </nodom>
      

      1. click "Index" button

      Current Result

      Unknown exception: java.lang.IllegalArgumentException.

      Expected Result

      show index without an error

      Debug Information

      • 9.5.0 doesn't have the bug
      • 9.5.1.FL.20201118-Eval also has the bug
      • Using a complete syntax (@command('showIndex', index=itemStatus.index)) to call a simplified command method (not annotated with @Command), the result is undefined.

      Workaround

      • add @BindingParam

            DevChu DevChu
            hawk hawk
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: