【问题标题】:Setting certain item in select option from object collection using ionic framework使用离子框架从对象集合中设置选择选项中的某些项目
【发布时间】:2016-08-29 06:40:03
【问题描述】:

问题的简短描述:

我在 ionic 中使用“select”时遇到了 2 个问题,当我尝试仅使用 angularjs 时它工作正常。 1.最初我设置第一个索引的数组来选择哪个是空白的。 2.我正在尝试通过拼接来更新数组并尝试更新选择,这再次给我带来了空白选择选项。

您期待什么行为?

我期望选择通过控制器给出的相应数组项的 2 个问题。

重现步骤:

  1. 在您开始运行应用程序时,我们会看到空白选择选项。
  2. 另一个问题可以通过删除任何项目和其他要选择的默认项目来查看。

代码片段:

            .controller('DashCtrl', function($scope) {

            $scope.options = [{name: 'var1',id: 1}, { name: 'var2', id: 2}, {name: 'var3',id: 3}];
            $scope.yourSelect = $scope.options[0];

            $scope.delete = function() {
              //  alert("Clciked");
              $scope.Deleted = $scope.options.splice(1,1);
              $scope.yourSelect = $scope.options[0];
                alert( $scope.yourSelect.name);
            }

            $scope.changed = function(yourSelect) {
                alert( $scope.yourSelect.name);
              }
            })

对于 Ionic 1 问题:

http://plnkr.co/edit/ZriDlmQL8VPRdk1NnDNa?p=preview

离子信息:

科尔多瓦 CLI:6.0.0 离子版本:1.3.1 离子 CLI 版本:1.7.14 离子应用程序库版本:0.7.0 操作系统:Windows 7 SP1 节点版本:v5.6.0

【问题讨论】:

    标签: android ios angularjs cordova ionic-framework


    【解决方案1】:

    这是一个适合您的解决方案 - http://plnkr.co/edit/qODVOqnhsdTR7lAgLBvv?p=preview

    RE:在您开始运行应用程序时,我们会得到空白选择选项。 那是因为 ng-init 设置不正确。而不是

    ng-init="yourSelect='var1'" 
    

    你应该有:

    ng-init="yourSelect"
    

    原因是选择的选项应该是一个对象,其中之一,用 ng-options 声明,而不是字符串值。当你选择一个选项时,Angular 会给你一个对所选对象的引用,而不是对所选“值”的引用。

    RE:另一个问题可以通过删除任何项目和其他要选择的默认项目来查看。 在 controller.js 文件中检查我们如何在 $scope.changed() 中更新模型,然后如何从 $scope.options 数组中删除选择的删除选项。

    【讨论】:

    • 感谢@toxic.digital 的回复。但是我的第一个问题已经解决,删除仍然有问题没有设置为默认选项,如下更新的 plunker 控制台:link。如果此代码中缺少某些内容,请告诉我。
    • 请帮我提出一些建议。在此先感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 2019-01-15
    相关资源
    最近更新 更多