相关疑难解决方法(0)

如何使用ClojureScript和Om基于用户输入过滤列表?

我刚开始使用Om(基于reactjs的ClojureScript库).我想根据用户输入过滤列表.以下工作,但解决方案似乎是复杂的.还有更好的吗?

(ns om-tut.core
  (:require-macros [cljs.core.async.macros :refer [go]])
  (:require [om.core :as om :include-macros true]
            [om.dom :as dom :include-macros true]
            [clojure.string :as string]))

(enable-console-print!)

(def app-state (atom {:list ["Lion" "Zebra" "Buffalo" "Antelope"]}))

(defn handle-change [e owner {:keys [text]}]
  (om/set-state! owner :data (vec (filter (fn [x] (> (.indexOf x(.. e -target -value)) -1)) (@app_state :list))))
  (om/set-state! owner :text (.. e -target -value)))


(defn list-view [app owner]
  (reify
    om/IInitState
    (init-state [_]
      {:text nil
       :data (:list app)
       })
    om/IRenderState
    (render-state [this state]    
      (dom/div nil
        (apply …
Run Code Online (Sandbox Code Playgroud)

clojure clojurescript reactjs om

7
推荐指数
1
解决办法
1306
查看次数

标签 统计

clojure ×1

clojurescript ×1

om ×1

reactjs ×1