小编tob*_*sen的帖子

如何在ReactJS中手动触发click事件?

如何在ReactJS中手动触发单击事件?当用户点击element1时,我想自动触发input标签上的点击.

<div className="div-margins logoContainer">
  <div id="element1" className="content" onClick={this.uploadLogoIcon}>
    <div className="logoBlank" />
  </div>
  <input accept="image/*" type="file" className="hide"/>
</div>
Run Code Online (Sandbox Code Playgroud)

html reactjs react-jsx

59
推荐指数
8
解决办法
8万
查看次数

使用 AudioContext (Web Audio API) 断开节点的问题

我正在构建一个显示有关视频音频的信息的组件。我使用AudioContext接口从 HTML5 视频元素获取音频样本。第一次创建组件时它工作正常,但是当卸载组件然后在稍后重新创建时,我收到以下错误消息:

未捕获的 InvalidStateError:无法在“AudioContext”上执行“createMediaElementSource”:HTMLMediaElement 之前已连接到不同的 MediaElementSourceNode。

这是我获取音频的方式:

const video = document.querySelectorAll('video')[0]

if (!window.audioContext) {
  window.audioContext = new (window.AudioContext || window.webkitAudioContext)
}

if (!this.source && !this.scriptNode) {
  this.source = window.audioContext.createMediaElementSource(video)
  this.scriptNode = window.audioContext.createScriptProcessor(4096, 1, 1)
}

this.scriptNode.onaudioprocess = (evt) => {
 // Processing audio works fine...
}

this.source.connect(this.scriptNode)
this.scriptNode.connect(window.audioContext.destination)
Run Code Online (Sandbox Code Playgroud)

当组件被卸载时,我会这样做:

if (this.source && this.scriptNode) {
  this.source.disconnect(this.scriptNode)
  this.scriptNode.disconnect(window.audioContext.destination)
}
Run Code Online (Sandbox Code Playgroud)

我认为这会让我处于可以安全地创建和连接新节点的状态。但是下次挂载组件时,这个块会抛出前面提到的错误:

if (!this.source && !this.scriptNode) {
  this.source = window.audioContext.createMediaElementSource(video) // this throws the error
  this.scriptNode = window.audioContext.createScriptProcessor(4096, 1, 1)
} …
Run Code Online (Sandbox Code Playgroud)

html javascript audio web-audio-api

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

将空块添加到Draft.js而不移动选择

在不改变SelectionState的情况下,将一个空的无格式块添加到Draft.js编辑器的最佳方法是什么?

reactjs draftjs

6
推荐指数
1
解决办法
4017
查看次数

自定义UITableViewCell中的UILabel永远不会被初始化

我在使用Xcode6(beta 4)在swift中创建自定义表视图单元时遇到了麻烦.更确切地说,我无法在单元格内访问(解包)我的自定义UILabel,因为它们永远不会被初始化.

以下是我所有设置的方法:

我在storyboard中创建了一个视图,其中包含一个带有原型单元格的表格视图:

它如何在故事板中看起来

视图连接到类MyCoursesTableViewController,单元格(带有标识符courseCell)连接到CourseTableViewCell.我在下面粘贴了两个类(只有相关的代码位):

MyCoursesTableViewController.swift

import UIKit

class MyCoursesTableViewController: NavToggleTableViewController {

    override func viewDidLoad() {
       super.viewDidLoad()

        self.tableView.registerClass(CourseTableViewCell.self, forCellReuseIdentifier: "courseCell")
    }

    override func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
        return 1
   }

    override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {

        var cell : CourseTableViewCell = tableView.dequeueReusableCellWithIdentifier("courseCell", forIndexPath: indexPath) as CourseTableViewCell

        // cell is not nil

        if let titleLabel = cell.titleLabel {
            // never gets here
        } …
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift

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