单击

时间:2018-06-19 22:22:19

标签: clojurescript reagent reagent-forms

创建一个figwheel / cljs / clj应用程序,在用户按下按钮时在前端工作,我想使用试剂在单击时将跨度转换为可编辑字段,我将如何处理?

我一直在阅读有关焦点切换和试剂/ dom-node的信息,但是鉴于我在网页上显示了innerHTML aka“真实值”,我该如何设置on-click =“”来实质上移动将光标移到innerhtml(范围)之外的组件上,并使它可编辑,并且光标开始闪烁。

谢谢大家

不知道你们是否想要代码段,但是 有一个小部件,几乎可以说以下内容:

{:type     :plain-icon-button
 :label    [:i.ti-pencil-alt]
 :tooltip  "Click here to edit"
 :attr     {:tab-index -1}
 :on-click (fn [] (prn "What do i do here :( ")}

再次感谢大家

2 个答案:

答案 0 :(得分:1)

一个简单的解决方案是同时显示两个字段,using the CSS property display: none;来切换它们,以便一次只能看到1个。在打ic中:

(:require
  [garden.core :as garden]
  [goog.style :as style]

[:div
  [:button#mybtn     {:display :initial}]
  [:textfield#mytf   {:display :none   }]]

,然后使用{:onclick hide-btn}

切换样式
(defn install-css [css-def]
  (let [css-str (garden/css css-def)]
    (style/installStyles css-str)
    css-str))

(defn hide-btn []
  (install-css [:#mybtn {:display :none   }] )
  (install-css [:#mytf  {:display :initial}] ))

您还可以尝试使用the CSS visible property.

答案 1 :(得分:1)

创建一个局部试剂原子,然后根据该比例的状态渲染可单击的div或输入元素。

on-click

您可能想要向:input添加clicked,这将提交数据,然后再次将{{1}}设置为false。