小编Sim*_*ggi的帖子

具有箭头函数es6的setTimeout ReactJS

我想知道如何setTimeout()在ReactJS 上使用,因为我这样做:

 timerid = setTimeout( () => this.reqMaq( obj['fkmaqid'] ), 2000 )
Run Code Online (Sandbox Code Playgroud)

它调用两次函数this.reqMaq().

如何阻止第一次通话?并且只是在时间之后保持通话?

这是组件:

reqMaq (maqid) {
    return fetch(`/scamp/index.php/batchprodpry/${maqid}`, {credentials: 'same-origin'})
      .then(req => {
        if (req.status >= 400) {
          throw new Error("Bad response from server")
        }
        return req.json()
      })
      .then(json => this.processMaqReq(json))
      .catch(function(error) {
        console.log('request failed', error)
      })
  }    

  handleChangeMaq (event) {
    event.preventDefault()
    if (event.target.value.length > 0) {
      let obj = this.state.obj
      obj['fkmaqid'] = VMasker.toPattern(event.target.value, "99-99-99-99")
      // if (timerid) {
      //   clearTimeout(timerid)
      // …
Run Code Online (Sandbox Code Playgroud)

javascript settimeout reactjs

22
推荐指数
1
解决办法
5万
查看次数

有没有办法在Javascript中拥有/锁定Enum对象的唯一索引值?

阅读在Javascript 中处理ENUM类型"推荐方法",我仍然不确定,因为我可以将值与伪造值进行比较,而我应该只比较"枚举"类型值:

 var DaysEnum = {"monday":1, "tuesday":2, "wednesday":3, ...}
 Object.freeze(DaysEnum)

 switch( day ){
   case "monday":
     return "Hello"
   case "tuesday":
     return "Hi"
   case "blahblahday":
     return "No"
 }
Run Code Online (Sandbox Code Playgroud)

我进行比较的字符串("星期一","星期二","blahblahday")完全没有我的"枚举类型:DaysEnum",可以由用户提供,这可能会导致一些未发现的细微错误由翻译(如拼写错误).

有没有办法拥有/锁定Enum对象的唯一索引值?

javascript enums

8
推荐指数
1
解决办法
338
查看次数

如何使用ember-model定义枚举

在我的ember模型模型中,我需要从枚举中设置String属性.有没有可能与ember模型?

通过示例我想要一个Book模型:

App.Book({
    id: Ember.attr(),
    title: Ember.attr( 'String' ),
    author: Ember.attr( 'String' ),
    status: App.BookStatus
});
Run Code Online (Sandbox Code Playgroud)

App.Book.Status作为具有3个可能值的枚举"FREE", "BORROW", "LOST"并使用它:

var myBook = App.Book.create({
    title:'myBook', 
    author:'fred', 
    status: App.BookStatus.FREE
})
Run Code Online (Sandbox Code Playgroud)

我需要等同于Java Enum功能

public enum BookStatus {
    FREE, BORROW, LOST 
}

class Book {
    BookStatus bookStatus;
}

Book bookInstance = new Book();
bookInstance.bookStatus=BookStatus.LOST;
Run Code Online (Sandbox Code Playgroud)

javascript ember.js ember-model

5
推荐指数
1
解决办法
4003
查看次数

反应虚拟化列表滚动出视图

我有一个有效的虚拟滚动网格,用于按页面上的部分显示文档。我现在为搜索结果添加了另一个 RV,但由于某种原因,当我向下滚动时,内容会滚动到视图之外!!我试图将其简化为仅使用具有预定高度的 List 并消除潜在因素,但它仍然给了我这个奇怪的错误。代码本身按预期工作,它是起作用的列表。(我实际上是在使用 Cell Measurer 来获取行高,但即使使用以下版本,它也会起作用)。这是代码:

const rowRenderer = ({ index, isScrolling, style, key  }) => 
  this.resultRowRenderer(index, key, style, curList)

resultRowRenderer(index, key, style, list) {
  ...
  return <Markup content={quote} onClick={() => jumpToLocCallback(location)} />       
}

render() {
  ...
  const renderList = (curList, i) => {
    const rowCount = curList.results.length

    return (
      <List
        key={i}
        height={100}
        rowHeight={30}
        rowCount={rowCount}
        rowRenderer={rowRenderer}
        overscanRowCount={0}
        width={700}
        ref={(ref) => this.List = ref}
      />
    )
  }

  const renderLists = searchResultsLists.map(renderList)

  return (
    <div className='results-sidebar'>
      {renderLists}
    </div> 
  )
}
Run Code Online (Sandbox Code Playgroud)

谢谢

reactjs react-virtualized

2
推荐指数
1
解决办法
813
查看次数