AngularJS select选择框初始化问题

Angularjs select初始化问题

问题描述:

angularjs 中的select往往会遇到选择框没有初始化的问题,表现形式就是一开始为空,但是选择后空白就消失。十分难看。

解决方案:

比如说如下的select:

<select ng-model="step.dataSource" ng-options="item.codeValue for item in dataSources"></select>

如果不初始化的话就会遇到如上所述的问题。

我推荐这么解决:

step.dataSource = dataSources[0];

这样ng-model就有一个初始化的值,不会有空格。


有时候遇到需要更加复杂的显示效果时,这种解决方式可能满足不了。但是我尝试过ng-repeat+ng-selected,效果并不好,所以建议使用如上的方式,遇到需要复杂的选项的时候再封装一层,比如:

//用于解决Select标签初始化问题的封装
            scope.perPageList = [];
            scope.perPageSelect = null;

            /**
             * 将真实数据刷新入封装
             */
            var refreshPerPageList = function () {
                scope.perPageList = [];
                for (var i = 0;i < conf.perPageOptions.length;i ++){
                    var tempPerPageItem = {};
                    tempPerPageItem.value = conf.perPageOptions[i];
                    tempPerPageItem.view = tempPerPageItem.value + "条/页";
                    scope.perPageList.push(tempPerPageItem);
                    if (conf.perPageOptions[i] == conf.itemsPerPage){
                        scope.perPageSelect = scope.perPageList[i];
                    }
                }
                //console.log(scope.perPageList);
                //console.log(scope.perPageSelect);
            }

在页面中这么写

<select ng-model="perPageSelect" ng-options="option.view for option in perPageList " ng-change="changeItemsPerPage()"></select>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值