2017-02-21 1 views
1

SAPUI5アプリケーションでPlanningCalendarコントロールを使用すると、次のエラーが発生します。私が破壊したり再作成している要素ではなく、単にデータを表示するために使用した要素です。結果として、私はこのエラーに自分自身を気にする必要はないと思う。私はそれを取り除くことができる方法はありますか?それでなぜプランニングカレンダーで正確にポップアップしているのですか? 1.38.9 SAPUI5を使用しています。PlanningCalendar templateShareableエラー

クローン操作中に、 と 'templateShareable:true'または 'templateShareable:false'のいずれもマークされていないテンプレートが見つかりました。 フレームワークはテンプレートを破棄しません。これにより、エラー(例: 重複ID)またはメモリリークが発生する可能性があります(このテンプレートはオブジェクト「__row0」のアグリゲーション 「予定」に使用されています)。 -

<PlanningCalendar 
      startDate="{path: '/startDate'}" 
      viewKey="D" 
      rows="{path: '/rows'}"> 
      <views> 
       <PlanningCalendarView 
        key="A" 
        intervalType="Day" 
        description="days view" 
        intervalsS="1" 
        intervalsM="3" 
        intervalsL="7" 
        showSubIntervals="false"> 
       </PlanningCalendarView> 
       <PlanningCalendarView 
        key="D" 
        intervalType="Hour" 
        description="hours view" 
        intervalsS="4" 
        intervalsM="6" 
        intervalsL="8" 
        showSubIntervals="true"> 
       </PlanningCalendarView> 
      </views> 

      <rows> 
       <PlanningCalendarRow 
        text="{role}" 
        nonWorkingDays="{freeDays}" 
        nonWorkingHours= "{freeHours}" 
        appointments="{appointments}" 
        intervalHeaders="{headers}"> 
        <appointments> 
         <unified:CalendarAppointment 
          tooltip="{title} {info}" 
          startDate="{start}" 
          endDate="{end}" 
          icon="{pic}" 
          title="{title}" 
          text="{info}" 
          type="{type}"> 
         </unified:CalendarAppointment> 
        </appointments> 
        <intervalHeaders> 
         <unified:CalendarAppointment 
          startDate="{start}" 
          endDate="{end}" 
          icon="{pic}" 
          title="{title}" 
          type="{type}"> 
         </unified:CalendarAppointment> 
        </intervalHeaders> 
       </PlanningCalendarRow> 
      </rows>    
    </PlanningCalendar> 

答えて

1

PlanningCalendarRowのご集約バインディングにtemplateSharable: falseを追加します。

... 
appointments="{path: 'appointments', templateShareable: false}" 
intervalHeaders="{path: 'headers', templateShareable: false}" 
... 

これにより、バインディングが削除されたときにUI5で破棄されたテンプレートが処理されるようになります。 このドキュメントについては、hereをご覧ください。

+0

ありがとうございます。これはうまくいった。私は "planninCalendar"タグの "行"と "startDate"に "templateShareable:false"を追加しようとしました。それは間違った場所だったと思います。それはまた働くために "経路:"が必要と思われる。 – Waltari

関連する問題