【发布时间】:2014-12-18 08:45:00
【问题描述】:
我正在设置一个可排序的可过滤表,并且我正在尝试制作它,以便我可以在组件上定义对象以构建所有必要的功能。
我想拿这个,
RailsTable = React.createClass
mixins: [
Backbone.React.Component.mixin
]
setSearchTermFilter: (e)->
search_term = e.target.value
@setState(search_term: search_term)
setGroupNumberFilter: (e)->
rail_group = parseInt(e.target.value)
@setState(rail_group: rail_group)
setSystemNameFilter: (e)->
system_name = e.target.value
@setState(system_name: system_name)
filteredResults: ->
filteredResults = @getCollection()
filteredResults = filteredResults.bySearchTerm(@state.search_term)
filteredResults = filteredResults.byRailGroup(@state.rail_group)
filteredResults = filteredResults.bySystemName(@state.system_name)
filteredResults.sortDirection = @state.sortDirection
filteredResults.sortBy(@state.sortAttribute)
filteredResults
render: ->
blah
把它变成这样,
RailsTable = React.createClass
mixins: [
Backbone.React.Component.mixin
Evue.Mixins.FilterMixin
]
filterTypes:
'search_term' : ''
'system_name' : ''
'rail_group' : 0
render: ->
blah
我认为这很好,但问题出现在 mixin 中。我需要遍历 filterTypes 对象并基于它创建函数。因此,如果我有 search_term,那么我需要一个 setSearchTermFilter 函数,但是每个表都会有不同的属性,所以我需要根据我输入的内容来创建它们。
这是我想要的想法,但不起作用,
Evue.Mixins.FilterMixin =
getInitialState: ->
@searchTypes
@filterTypes.each (filterObject)->
setFilterObject: (newFilterObject)->
@setState(filterObject: newFilterObject)
我什至不知道这是否可行,我真的认为我只是在接近这个错误。
【问题讨论】:
标签: function coffeescript reactjs