0

私はこれに数日間苦労してきましたが、正しく理解できないようです。これが私のコードです:

<attribute name="onClick"><![CDATA[
Messagebox.show("Remove this file?", "Remove?", Messagebox.YES | Messagebox.NO, Messagebox.QUESTION,
new EventListener() {
    public void onEvent(Event evt) {
        switch (((Integer)evt.getData()).intValue()) {
            case Messagebox.YES: someFunction(${each.Id}); break;
            case Messagebox.NO: break;
        }
    }
})
]]></attribute>

上記のコードは、ZK ZUL ページの forEach サイクルからのものです。ファイルのリストが生成され、すべてのファイルに「削除」ボタンが必要です。クリックすると、ポップアップが表示され、確認を求められます。確認後、id を関数に渡してからすべてを処理する必要があります。

私が見逃している、または知らない、本当に小さなものだと確信しています。

4

1 に答える 1

2

ここには 2 つの問題があります。

  1. zscript で EL を使用することはできません。むしろ、暗黙的なオブジェクトを介してアクセスする必要があります。例えば、
    <ウィンドウ>
      <button label="${each}" forEach="リンゴ、オレンジ">
        <zscript>
      self.parent.appendChild(new Label("" + each));
        </zscript>
      </ボタン>
    </ウィンドウ>
  1. ただし、それぞれはページ レンダリングでのみ使用できます。評価後にリセットされます。つまり、イベント リスナーではアクセスできません。たとえば、次の場合は機能しません
    <ウィンドウ>
      <button label="${each}" forEach="リンゴ、オレンジ"
        onClick='alert(""+each)'/>
    </ウィンドウ>

最初に各オブジェクトを保存してから、イベント リスナーで使用する必要があります。

ZKのリファレンスをご覧ください

于 2010-12-06T02:16:24.643 に答える