创建一个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 :( ")}
再次感谢大家
答案 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。