jquery - PrimeNG - 如何在 p-tabView 组件中动态添加和删除 p-tabPanel

标签 jquery html angular typescript primeng

我在一个需要使用 p-tabView 的项目中。单击 p-tabView 中的按钮时将创建一个新的 p-tabPanel。

如何向 p-tabView 动态添加新面板?

最佳答案

我想出了一个办法。我正在使用 ngFor 来控制 tabPanel 的 #。

我的 component.ts 代码将操纵 myModel.leads。因此,tabPanel 的数量将相应改变。

<!--Lead-->
<p-tabView  >  
  <p-tabPanel [selected]="i==0" *ngFor="let lead of procedureDetail.leads; let i = index" header="lead {{i+1}}"  >
           <div id="{{lead.id}}" class="my_dynamica_lead_tabPanel"> <!-- I can add content to this div with tabView.onChange() api -->
          {{lead.id}} - {{i}}
           </div>
           <div class="row">
              <div class="col-md-3">
                 Date:
              </div>
           <div class="col-md-9">
              <p-calendar [style]="{'width':'180px'}" [monthNavigator]="true" [yearNavigator]="true" yearRange="1900:2020" name="lead.{{i}}.date" [(ngModel)]="lead.date" [showIcon]="true" ></p-calendar> 
          </div>
       </div>

   </p-tabPanel>
</p-tabView> 

注意 - 如果在 p-tabPanel 中使用 *ngFor 时忘记包含 [selected] 属性。你会得到以下错误

TabPanel.html:2 ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'none'. Current value: 'block'.

关于jquery - PrimeNG - 如何在 p-tabView 组件中动态添加和删除 p-tabPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39387022/

相关文章:

javascript - 如何在我的 html 上使用 getJSON

javascript - 如何使网站上的 tfl 小部件变大

angular - 更改 Angular Material datePicker 图标

html - CSS outlook 图像问题

angular - 页面刷新和带有 url 重写的 Angular 路由后,cookie 计数为零

javascript - TypeScript + Monaco 编辑器中的未知类型是什么?

jquery - 添加表单 (CRUD) 上的 ASP.NET MVC 弹出部分 View 问题

javascript - 谷歌地图API出现问题,获取位置地址

javascript - jquery ajax 返回额外数据

html - 打印(到纸上)用 div 构建的网格 - 错误的换行