ionic 下拉选择框中默认显示传入的参数
开发过程当中遇到一个有趣的问题,如果我在第一个页面需要把
item {
"ownerId" : 1
}
传递给第二个页面,并挂在$scope下
$scope.item = $stateParams.item;
然后在第二个页面我会请求后台获取可用的带选项,放到一个list 里,list 里是与item数据结构部分相同的数据。
list[i]{
"ownerId":1,//这部分是和item里的一样的,用于后台记录
"ownerName":"wjw"//可以理解为和id对应的name,用于显示
}
其中默认选项要放item里的数据,即页面显示传过来的数据对应的ownerName。如果我们从下拉框中选择了新的数据,要可以双向绑定到控制器中的变量$scope.item.ownerId当中。这样,我们就可以在后续操作中把被选条目list[i].ownerId, 即一个item.ownerId 类型的数据传递给后台。
如果我们直接把数据放到页面上,当然可以显示,但是双向绑定的不是请求回来的最新数据,而是上个页面传过来的数据。
前提,我们从后台请求得到的数据当中,一定有我们从上个页面传递过来的数据。
假设我们的请求是:
var defer = $q.defer();
apiService.getList(function (resp){
if(resp.success){
$scopes.list = resp.data;
//我们这里做一个循环,如果我们从上个页面传递过来的数据包含请求回来的数据列表$scope.list中,就可以做一个循环
for(var i = 0; i < $scope.lsit.length; i++){
if($scope.list[i].ownerId == $scope.item.ownerId){//找到 列表中和 item中一样的Id
$scope.item.ownerId = $scope.list[i].ownerId;//把 list 中的 list[i].ownerId传递给 $scope.item.ownerId 这个就是要双向绑定的变量。这一步非常重要,angularjs中如果不把默认要显示的变量重新赋值,页面上是不显示的。
}
}
defer.resolve();
}else{
defer.reject(resp);
}
},{
//params 请求参数
});
ionic 下拉列表,在html中的写法
<ion-item class="item-input item-select">
<span class="input-label">人员:</span>
<select ng-model="item.ownerId" ng-options="item.ownerId as item.ownerName for people in list">
<option value="">-- 请选择 --</option>
</select>
</ion-item>
在html中我们双向是绑定的是 item.ownerId, 在待选项中,我们会把item.ownerName显示出来,把选中的 item.ownerId 赋值给 双向绑定的变量。
这样我们就实现了 页面跳转之后默认显示传递的数据,而选中某项后把值替换。
ionic 下拉选择框中默认显示传入的参数的更多相关文章
- layui下拉选择框select不显示
弹层layer下拉框没有样式_不可点击_没有效果_渲染失效的解决办法 一.必须给表单体系所在的父元素加上 class="layui-form" 在一个容器中设定 class=&qu ...
- CSS自定义select下拉选择框(不用其他标签模拟)
今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...
- 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框)
[源码下载] 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框) 作者:webabcd 介绍背水一战 Wind ...
- selenium的下拉选择框
今天总结下selenium的下拉选择框.我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框. 后者我们通常的处理方式与其他的元素类似,点击或使用J ...
- selenium之 下拉选择框Select
今天总结下selenium的下拉选择框.我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框. 后者我们通常的处理方式与其他的元素类似,点击或使用J ...
- java、easyui-combotree树形下拉选择框
最近一直在研究这个树形的下拉选择框,感觉非常的有用,现在整理下来供大家使用: 首先数据库的表架构设计和三级菜单联动的表结构是一样,(父子关系) 1.下面我们用hibernate建一下对应的额实体类: ...
- HTML、CSS小知识--兼容IE的下拉选择框select
HTML <div class="s_h_ie"> <select id="Select1" disabled="disabled& ...
- openerp模块收藏 移除下拉选择列表中的“创建并编辑”链接(转载)
移除下拉选择列表中的“创建并编辑”链接 原文:http://shine-it.net/index.php/topic,5990.0.html 有时希望下拉列表中列出的项是与主表某个字段关联的,用户只能 ...
- UI标签库专题十一:JEECG智能开发平台 DictSelect (数据字典下拉选择框)
1. DictSelect (数据字典下拉选择框) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 typeGroupCode string 字典分组编码 是 null field s ...
随机推荐
- 在Linux上安装jdk,mysql,tomcat的准备工作
准备工作: 因为JDK,TOMCAT,MYSQL的安装过程中需要从网上下载部分支持包才可以继续,所以要提前安装下载好下面四个依赖 yum install glibc.i686 yum -y insta ...
- Go之Channel详解
channel取数据时未被赋值将被阻塞,可以使用这一机制来完成事件的监听 wg := new(sync.WaitGroup) wg.Add(2) event := make(chan bool) // ...
- ios开发之--时间格式化
字符串转时间 iOS 中 NSDate 是时间管理类,这里获取到的时间是 UTC 时间,可以根据需要转换成任意地区的时间. NSFormatter 类是时间格式化类,可以根据指定的格式.地区将指定的时 ...
- My Apple Developer Library Catalog
Objective-C & Memory Management:Programming with Objective-CConcepts in Objective-C ProgrammingM ...
- 获取指定ip段的所有存活主机的主机名和操作系统
https://jingyan.baidu.com/article/ceb9fb1089fd948cad2ba000.html java探测局域网存活 https://blog.csdn.net/we ...
- RF使用ie浏览器访问页面,浏览器启动只显示This is the initial start page for the WebDriver server,页面访问失败
问题描述:启动ie浏览器后,页面显示如下: 问题定位: 1.IE页面缩放没有设置成100% 2.ie浏览器的安全模式设置是否都将“启动保护模式”勾选上 3.iedriver驱动版本号是否和seleni ...
- C++ template —— 类型区分(十一)
前面的博文介绍了模板的基础,深入模板特性,模板和设计的一些内容.从这篇开始,我们介绍一些高级模板设计,开发某些相对较小.并且互相独立的功能,而且对于这些简单功能而言,模板是最好的实现方法:(1)一个用 ...
- Git和GitHub入门基础
-----------------------------------------//cd F:/learngit // 创建仓库git init // 在当前目录下创建空的git仓库------- ...
- Java面试题全集
Java面试题全集(上) Java面试题全集(中) Java面试题全集(下) http://www.importnew.com/21445.html
- Windows驱动中通过MDL实现用户态与核心态共享内存
Windows驱动跑在核心态(Kernel mode),驱动的调用者跑在用户态.如何使用户态进程与核心态驱动共享内存呢 ? 我们知道32位Windows中,默认状态下虚拟空间有4G,前2G是每个进程私 ...