【问题标题】:AngularJS drag & drop editableAngularJS拖放可编辑
【发布时间】:2016-02-26 08:30:45
【问题描述】:

我是 AngularJS 的新手,请从核心层面指导我。

我的要求是将项目(源)拖放到创建动态树结构(目标)中。请找到随附的屏幕截图。

在源代码中,我有需要拖动以形成动态树结构的项目列表,其中树中的所有节点都应该是可编辑的。

Ex 1:树结构的创建/编辑

Step1) 从源中选择一个项目并拖动到目标

Step2) 在目标端产品目录 将使用默认名称和时间戳创建。将在产品目录下创建 产品。将在产品 items 下创建。如屏幕截图所示,最终选定的项目将被放置在项目下。此类别下可以添加多个项目。

仅供参考:如果在产品级别删除所选项目,则会在同一产品目录下隐式创建另一个产品结构。

请告诉我推进它的方法。

谢谢

vij

【问题讨论】:

    标签: javascript jquery angularjs drag-and-drop angular-ui-router


    【解决方案1】:

    使用 HTML5 Content Editable 属性随时随地编辑页面内容并确保对其进行控制(例如:管理员模式)

    在您的角度控制器中使用控制标志来允许用户编辑内容。

    对于拖放,您必须使用 3rd 方插件,并且有大量可用的开源插件。

    要使内容可编辑,

    <p contenteditable="true">You can edit me!</p>
    

    为了 Angular,

    <p contenteditable="isAdminMode">You can edit me!</p>
    

    根据情况设置$scope.isAdminMode = true || false

    【讨论】:

    • 感谢 vinay 的回复。在我使用 REST 服务的情况下,我将获得 JSON 结构,我需要在 UI 中隐藏几个字段,其余字段应该是可编辑的。你能举个例子吗?
    • 使用 ng-if 或 ng-show 删除/隐藏视图中的一部分。
    • 您好 Vinay,在将元素放入树结构时,我需要选择适当的节点来添加值。请提出可能的方式来推进它。
    • 在 ng-repeat 中循环遍历集合时,每个节点都会有一个索引值。
    • 只需使用 array.splice(index, 1) 删除树中的特定元素。确保在数据库中也反映拼接操作。
    【解决方案2】:

    问题已解决。实际上,我们创建了默认的树结构,我们在其中添加了在每个子节点和父节点创建节点的选项以及删除选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      相关资源
      最近更新 更多