Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击按钮使labelview可编辑-Sproutcore_Javascript_Javascript Framework_Sproutcore_Textfield_Sproutcore Views - Fatal编程技术网

Javascript 单击按钮使labelview可编辑-Sproutcore

Javascript 单击按钮使labelview可编辑-Sproutcore,javascript,javascript-framework,sproutcore,textfield,sproutcore-views,Javascript,Javascript Framework,Sproutcore,Textfield,Sproutcore Views,我对sproutcore很陌生。虽然我知道SC.InlineEditablemixin和isEditable字段,但问题是当我单击按钮使labelView可编辑时。标签保持不变,我必须双击标签才能输入文本 我想要的是,当我点击编辑按钮时,标签应该变成一个文本字段,并且应该成为第一个响应者,即光标应该在文本上闪烁 我找不到任何像样的文档(sproutcore帮助不大)或教程来做这件事。这些参考资料的链接也会非常有用 根据,您应该能够完成以下任务: SC.LabelView.extend({ c

我对sproutcore很陌生。虽然我知道
SC.InlineEditable
mixin和
isEditable
字段,但问题是当我单击按钮使
labelView
可编辑时。标签保持不变,我必须双击标签才能输入文本

我想要的是,当我点击编辑按钮时,标签应该变成一个文本字段,并且应该成为第一个响应者,即光标应该在文本上闪烁

我找不到任何像样的文档(sproutcore帮助不大)或教程来做这件事。这些参考资料的链接也会非常有用

根据,您应该能够完成以下任务:

SC.LabelView.extend({
  classNames: ['my-label-view'],
  isEditable: true,
  layout: { width: 300, height: 16, centerX: 0, centerY: 0 },
  value: 'Double-click this label to edit inline.'
})
如果这不起作用,您能告诉我们您使用的是什么版本的SC,以及什么浏览器/版本吗?这可能是一个潜在的bug。

根据,您应该能够通过以下方式完成此任务:

SC.LabelView.extend({
  classNames: ['my-label-view'],
  isEditable: true,
  layout: { width: 300, height: 16, centerX: 0, centerY: 0 },
  value: 'Double-click this label to edit inline.'
})

如果这不起作用,您能告诉我们您使用的是什么版本的SC,以及什么浏览器/版本吗?这可能是一个潜在的bug。

对我来说,在应用程序中启用标签是一种不同的状态。在这种情况下,最好将按钮的操作绑定到状态图。 因此,首先使用isEditing属性创建一个控制器,该属性为false(默认情况下)

现在在当前状态下创建一个函数,该函数由按钮上的操作调用。这将导致进入编辑状态,即在enterState中将IsEdit属性设置为true,在exitState中将IsEdit属性设置为false


我不知道如何将label视图的编辑状态绑定到此isEditing属性,但假设这是可能的,您可以通过这种方式同时控制所有字段的编辑状态,而且您肯定知道,编辑完成后,所有字段也将恢复正常状态。

对我来说,在应用程序中启用标签是一种不同的状态。在这种情况下,最好将按钮的操作绑定到状态图。 因此,首先使用isEditing属性创建一个控制器,该属性为false(默认情况下)

现在在当前状态下创建一个函数,该函数由按钮上的操作调用。这将导致进入编辑状态,即在enterState中将IsEdit属性设置为true,在exitState中将IsEdit属性设置为false


我不知道如何将label视图的编辑状态绑定到此isEditing属性,但假设这是可能的,您可以通过这种方式同时控制所有字段的编辑状态,编辑完成后,您肯定会知道所有字段也将恢复正常。

这正在发生。我想点击一个按钮,而不是点击标签,使该字段可编辑。实际上,页面上有多个标签。我想在单击“编辑”按钮时立即对所有标签进行编辑。您可以轻松单击一个按钮并使其在标签上调用BeginEdit(),但其中只有一个可以设置firstResponder。查看此链接底部的代码,了解使用1标签视图执行此操作的大致示例:谢谢。我从那开始。任何关于将所有标签转换为文本字段的指针?如果对标签调用BeginEdit(),它将自动转换为文本字段。您只需要迭代所有这些方法并调用该方法。如果它们都包含在同一父视图中,您可以使用父视图的
.childview
属性,并快速检查
SC.kindOf(view,SC.LabelView)
是否返回true(我认为这是正确的语法)。现在正在发生这种情况。我想点击一个按钮,而不是点击标签,使该字段可编辑。实际上,页面上有多个标签。我想在单击“编辑”按钮时立即对所有标签进行编辑。您可以轻松单击一个按钮并使其在标签上调用BeginEdit(),但其中只有一个可以设置firstResponder。查看此链接底部的代码,了解使用1标签视图执行此操作的大致示例:谢谢。我从那开始。任何关于将所有标签转换为文本字段的指针?如果对标签调用BeginEdit(),它将自动转换为文本字段。您只需要迭代所有这些方法并调用该方法。如果它们都包含在同一父视图中,您可以使用父视图的
.childview
属性,并快速检查
SC.kindOf(view,SC.LabelView)
是否返回true(我认为这是正确的语法)。