选择默认选项不适用于 Ionic Framework

Posted

技术标签:

【中文标题】选择默认选项不适用于 Ionic Framework【英文标题】:Select default option not working with Ionic Framework 【发布时间】:2014-09-08 10:50:04 【问题描述】:

我正在使用 Ionic 框架。 我想输入第一个选项作为默认选项,但这样做不起作用。 我能做什么?

<select ng-model="newSpesaAereo.valuta">
    <option ng-selected="selected">Euro</option>
    <option>Dollaro</option>
    <option>Dollaro canadese</option>
    <option>Sterlina</option>
</select>

如果我使用 Google Chrome Developer Utility 分析页面,我会看这个。

如果我编辑此 html 并删除所选行,则 Euro 可见。

为什么会这样?

【问题讨论】:

【参考方案1】:

设置ng-selected="true"

例子:

<option ng-selected="true">Carta di credito</option>

【讨论】:

虽然这个解决方案在这种情况下确实有效,但在其他情况下它会失败。默认情况下,我根据所选值显示(和隐藏)其他表单元素。虽然 ng-selected="true" 默认显示选中的值,但它无法显示与该选中选项相关的其他表单元素。因此,如果您正在寻找与我类似的功能,我建议您尝试@lisimba.gilkes 提供的解决方案,因为它工作得非常好。【参考方案2】:

默认选项不起作用的原因是,在您的控制器中,您可能已经像这样初始化了表单模型:

$scope.newSpesaAereo = 

如果你想设置默认的表单选项,你也应该在表单模型中设置它们。例如,将 'valuta' 设置为 'Euro',如下所示:

 $scope.newSpesaAereo =  valuta: "Euro" 

我希望这会有所帮助!

P.S 在发布此类问题时,您还应该包含视图绑定到的控制器的代码。

【讨论】:

+1 我根据所选值显示其他表单元素。因此,如本解决方案所示在对象中设置默认值对我来说非常有效。 你是对的,我确实初始化了一个空对象!改变了它,它的工作,谢谢:)【参考方案3】:

你需要使用ng-selected,而不是直接选中。

https://docs.angularjs.org/api/ng/directive/ngSelected

<select ng-model="newSpesaAereo.metodoPagamento">
  <option ng-selected="selected">Carta di credito</option>
  <option>Bancomat</option>
  <option>Contanti</option>
  <option>Altro</option>
</select>

【讨论】:

我为我的问题添加了更多细节。 您可以尝试创建一个代码笔或其他我们可以看到问题的东西吗?

以上是关于选择默认选项不适用于 Ionic Framework的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 插件不适用于 ionic

Select2 :仅适用于一个选择选项,但不适用于两个或更多选择选项

ionic 3 的内页不适用于 ionic 3 中的脚本或外部自定义 jQuery 插件

Ionic BarcodeScanner 不适用于 ios

评级插件不适用于 Ionic 3

Ionic2 Google Maps JS SDK 不适用于 Ionic View