を選択して編集テンプレートに切り替えます。 それは私が新しい項目を選択する前に、編集されたアイテムの「キャンセル」アイコンをクリックした場合にのみ、正常に動作します。剣道のListView:私はそれはその「編集」テンプレートに切り替えるようにする項目を選択(クリック)したい<a href="http://dojo.telerik.com/AROMAZ" rel="nofollow noreferrer">http://dojo.telerik.com/AROMAZ</a></p> <p>:私はこの単純な例の問題を説明していたいアイテム
私は手動で前の選択を解除せずに新しい項目を選択した場合、それは動作を停止します。
私は何を頼りにするも、「キャンセル」ボタンを持っていません。
これは簡単です。編集するアイテムをクリックします( '編集'テンプレートに切り替えるには)。 1つを選択すると、前に選択した項目が選択解除されます。すなわち1つで編集する。
手動で別のものを編集する前に項目を自動選択/編集解除する方法が見つかりませんでした。
EDIT 1:予想通り
がthis.edit(selected)
前this.cancel();
を配置するには動作しません。このコードは、オリジナルのdojoの例ではコメントアウトされています。あなたが新しい項目を選択すると
は、以前に選択した項目は未編集された(これは結構です)を取得します。ただし、新しく選択された項目は編集されず(望ましくない動作)、例外がスローされます(望ましくない動作)。
例外は次のとおりです。
Uncaught TypeError: Cannot read property 'uid' of undefined
at init.edit (kendo.all.js:53910)
at init.change (VM1332 result:42)
at init.trigger (kendo.all.js:124)
at init.change (kendo.all.js:53707)
at init.trigger (kendo.all.js:124)
at init._notify (kendo.all.js:25836)
at init.value (kendo.all.js:25811)
at init._tap (kendo.all.js:25725)
at init.d (jquery-1.12.4.min.js:2)
at init.trigger (kendo.all.js:124)
this.cancel();
の添加は、この修正道場に例示されている:http://dojo.telerik.com/AROMAZ/7
注:ブラウザの開発ツールを開いて、例外を表示するには(つまり、Shiftキー+センター+ I
EDIT)Chromeで2:
P this.edit(selected)
前this.save();
レーシングは、あまりにも例外をスローすることができます。例:http://jsfiddle.net/horacioj/mkJTG/417/
残念ながら、それは動作しません。私は理由を説明するために "EDIT 1"を追加しました。 – horacioj
私はちょうど解決策を編集しました。それは動作しており、例外もスローされていません。もちろん、変更イベントが発生するたびに同期したくない場合は、保存イベントを防止して同期を手動で呼び出す必要があります。 –
.save()は、望ましくないsave()をトリガーするだけでなく、例外もスローすることができます( "EDIT 2"を追加)。私は、.cancel()に基づいた実用的な解決策があると思います。私は新しい答えとしてそれを追加しています。 – horacioj