gpt4 book ai didi

javascript - Angular-ui-bootstrap -- 无法禁用 ng-repeat 内的选项卡

转载 作者:行者123 更新时间:2023-12-02 15:58:53 24 4
gpt4 key购买 nike

全部。

我正在使用 Angular 和 ui-bootstrap 创建一个选项卡菜单,(希望)用户可以在其中启用/禁用他们不需要的选项卡。我试图非常严格地遵守模板代码,并实现我自己的函数来禁用单击时的选项卡,但我无法让我的选项卡以与示例中相同的方式进行响应。我一直在阅读并猜测这与 ng-repeat 创建自己的作用域有关,但我还没有解决它。任何帮助将不胜感激!

我试图在 this plunker 中展示我正在处理的内容.

相关 Controller 代码:

$scope.theirTabs = [
{ title:'Dynamic Title 1', content:'Dynamic content 1' },
{ title:'Dynamic Title 2', content:'Dynamic content 2', disabled: true }
];

$scope.myTabs = [
{ title:'Orders',
content: {
description: 'DESCRIPTION',
poNumber: 'PO_NUMBER',
origFacility: 'ORIGIN_FACILITY',
destName: 'D_NAME',
destCity: 'D_CITY' ,
transitType: 'TRAN_TYPE',
transitCode: 'TRAN_CODE'
},
disabled: false
},
{ title:'Inventory',
content: {
createdDateTime: 'CREATED_DATE_TIME',
userName: 'USER_NAME'
},
disabled: false
},
{ title:'Items',
content: {
allocatedQty: 'ALLOCATED_QTY',
unitsPacked: 'UNITS_PAKD',
shippedQty: 'SHIPPED_QTY'
},
disabled: false
},
{ title:'Activity',
content: {
orderNumber: 'ORDER_NUMBER',
poNumber: 'PO_NUMBER',
origFacility: 'ORIGIN_FACILITY'
},
disabled: true
}
];

$scope.disableTab = function(tab, index) {
tab.disabled = true;
console.log('tab at index ' + index + ' should be disabled');
};

相关html(这里仅包含我的):

  <div class="row">
<div ng-repeat="tab in myTabs track by $index" class="select-tables-checkboxes col-md-3">
<!-- <label for="select-tables">{{tab.title}}</label> -->
<button type="button"
name="select-tables"
id="select-tables"
ng-click="myTabs[$index].disabled = ! myTabs[$index].disabled">Enable / Disable {{tab.title}}
<!-- also tried ng-click="disableTab(tab, $index)" -->
</div>
</div>
<tabset>
<tab ng-repeat="tab in myTabs" heading="{{tab.title}}" active="tab.active" ng-disabled="tab.disabled">
<!-- <div class="row" ng-repeat="(key, value) in content track by $index"></div> -->
<div class="row" ng-repeat="(k, v) in tab.content">
<div class="column-exists-checkbox col-md-1">
<input type="checkbox"
name="column-exists"
id="column-exists"
ng-model="columnExists">
</div>
<div class="column-description col-md-4">
<p class="column-description"><strong>{{k}}</strong></p>
</div>
<div class="column-name col-md-7">
<input type="text"
name="column-name"
id="column-name"

value="{{v}}">
</div>
</div>
<!-- </div> -->
</tab>
</tabset>

顺便说一句,当我运行代码并单击自己的按钮来禁用/启用选项卡时(我意识到我只是使用 $scope.disableTab 函数进行了编码以禁用),我得到了正确的控制台输出,即'当我单击“订单”按钮时,索引 0 处的选项卡应被禁用,等等。

预先感谢您提出的任何建议!

最佳答案

对于tab指令,您应该使用 disable 属性

<tab ng-repeat="tab in myTabs" heading="{{tab.title}}" active="tab.active" disable="tab.disabled">

关于javascript - Angular-ui-bootstrap -- 无法禁用 ng-repeat 内的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com