首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >模式的单选按钮,每个选择“一组”的其他控件?

模式的单选按钮,每个选择“一组”的其他控件?
EN

Stack Overflow用户
提问于 2009-12-09 18:19:07
回答 3查看 847关注 0票数 0

我注意到UI开发中的一个常见场景(包括Web和胖客户机),其中有一组单选按钮,单击单选按钮意味着要“选择”其他控件的“特定”集(为了简单起见,假设它们都是文本框)。

为了说明,星号代表单选按钮,下划线代表文本框。每个单选按钮都应该“选择”同一行中文本框的“集合”。

代码语言:javascript
运行
复制
*   ________   ________  __________

*   ________

*   ________   ________

因此,转化为UI需求,这意味着

  1. 每当用户单击单选按钮时,文本框而不是其"set“中的中的所有值都应该被删除,并且
  2. 每当用户开始键入文本框时,控制它的单选按钮就应该自动选择(这也意味着删除其他文本框值,如上面所示)。

对我来说,问题是正确的编程是令人惊讶的困难。需要处理的事件很多,处理程序可能会引发其他事件,等等。

有什么可以遵循的“模式”吗?

EN

回答 3

Stack Overflow用户

发布于 2009-12-11 03:24:40

实际上,从可用性的角度来看,我建议在取消选中单选按钮时,不要删除文本框中的值。当用户在单选按钮之间切换时,您不应该破坏他们的工作。通过不清除文本框,用户可以在选项B之后返回使用选项A,而不必重新输入文本框值。

取消选中关联的单选按钮时,您可能希望禁用文本框,以便向用户指示文本框值不适用。您可能还应该使选择单选按钮自动将焦点放在第一个相关文本框中,以节省用户额外的鼠标或选项卡按键。在大多数情况下,这将与用户在原始设计中单击所需的文本框一样高效。

此设计还简化了代码。您只需要在更新事件中为单选按钮设置启用和焦点。

票数 0
EN

Stack Overflow用户

发布于 2009-12-11 08:23:04

有很多事情要处理

一个小的控制器层次结构可能会有所帮助。行控制器负责处理单个行中的小部件中的事件,并选择/取消选择特定行。行集控制器负责将“其他行选定的”通知传递给集合中的行。

人们可能会称之为分层MVC (这里是一个模式:- ),尽管这个名字听起来太重了,无法描述上面的内容。

而处理程序可能会导致其他事件的触发等。

类似于行控制器在选择/取消选择行时抑制触发的次要事件的任务。行控制器知道是否正在执行选择/取消选择,因此可以抑制次要事件。不确定这是否是一种模式。也许是一个布尔标志模式来表示正在进行的选择:-)

票数 0
EN

Stack Overflow用户

发布于 2009-12-11 08:43:31

您可以使用“子表单”UI模式及其相关模式(替代子表单、子表单选择等)。

您可以阅读对这些模式的解释,这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1875787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档