想问下 Android 的下拉列表,在修改的时候,后台都是怎么给他传参的?

2019-05-29 14:49:05 +08:00
 w516322644
我写后台接口的时候,以为跟前端一样,返回 id 就行,$("#select").val(id)就选中了,我们现在的 Android 需要把值也传给他,这样他就省了一步循环。但我要多执行 sql 语句,去找到值。

所以想问下大家都怎么办的?
4739 次点击
所在节点    Android
10 条回复
behanga
2019-05-29 15:10:08 +08:00
问题还没有描述清楚,你举个栗子
w516322644
2019-05-29 15:19:00 +08:00
比如[{"id":1,"name":"whw"},{"id":3,"name":"whw"},{"id":5,"name":"whw"}]
w516322644
2019-05-29 15:20:55 +08:00
@behanga 比如下拉列表数据动态获得[{"id":1,"name":"whw1"},{"id":3,"name":"whw3"},{"id":5,"name":"whw5"}],我后台只返回了,id=3,告诉他选中,现在我们的 Android 让我把 name 也返回回去,但我们 name 需要查,他不想循环,我不想查。
ily433664
2019-05-29 15:29:32 +08:00
正常来说应该是返回 id,然后还有个字典让前端自己去取 name
airfling
2019-05-29 15:33:27 +08:00
多查几个字段又不浪费时间,而且还能减轻服务器压力,直接返回给他就是了
behanga
2019-05-29 15:35:24 +08:00
@w516322644 正常如果是列表性质的,一般 id=1,2,3 的数据都会给端上,然后端上根据这些数据自己做后续处理。如果数据量很大,需要做分页,端上请求的时候根据第几页返回数据。
w516322644
2019-05-29 15:41:05 +08:00
@behanga

@airfling
因为 2 有可能不是他的,他看不到,所以 2 不返回给他。
firefffffffffly
2019-05-29 15:52:17 +08:00
我理解你返回了 { "data": [{"id":1,"name":"whw1"},{"id":3,"name":"whw3"},{"id":5,"name":"whw5"}], "selectedId": 3}
首先这就是个数据结构设计问题,和 Android 平台不相关。
我猜他 UI 层额外创建了个只包含 name 的 List,想用 indexOf 或者 contains 函数直接查询 index,如果只有 id 就得先从 id 查询 name,再查询 index,就多了个 id 查 name 的循环。
firefffffffffly
2019-05-29 15:58:31 +08:00
有 id 存在的场景不用 id 索引内容而是用展示性质的 name 做索引肯定是最大的坑,所以肯定不能返回 name 让他做查询操作。
hhecoder
2019-05-29 23:11:48 +08:00
客户端为什么需要 name 呢?没啥特别的原因肯定用 id 咯

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/568764

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX