小编Zac*_*iro的帖子

在React中滚动到溢出div的底部

我有ul一个max-heightoverflow-y: auto.

当用户输入足够的li元素,将ul开始滚动,但我想最后liform中它始终存在并显示给用户.

我试过实现一个如下所示的scrollToBottom函数:

scrollToBottom() {
    this.formLi.scrollIntoView({ behavior: 'smooth' });
}
Run Code Online (Sandbox Code Playgroud)

但这只是ul跳转到屏幕顶部并显示li其中的表单作为唯一可见的东西.

有没有更好的方法来实现这一目标?我发现的答案往往有点旧并使用ReactDOM.谢谢!

CSS:

.prompt-box .options-holder {
    list-style: none;
    padding: 0;
    width: 95%;
    margin: 12px auto;
    max-height: 600px;
    overflow-y: auto;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<ul className='options-holder'>
    {
        this.state.items.map((item, index) => (
            <li key={item.id} className={`option ${index === 0 ? 'first' : ''}`}>
                <div className='circle' onClick={this.removeItem} />

                <p className='item-text'>{ item.text }</p>
            </li>
        ))
    } …
Run Code Online (Sandbox Code Playgroud)

html javascript css reactjs

29
推荐指数
5
解决办法
9691
查看次数

Swift - 在App Delegate中实例化没有故事板的导航控制器

我正在重建一个没有故事板的应用程序,而我遇到的最麻烦的部分是以编程方式导航视图.很少有东西写在那里没有使用故事板,所以找到答案是很困难的.

我的问题非常简单.我有我ViewController和我的SecondViewController想要从前者推到后者.

AppDelegate:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    window = UIWindow(frame: UIScreen.mainScreen().bounds)
    window?.backgroundColor = UIColor.whiteColor()
    window?.rootViewController = ViewController()
    window?.makeKeyAndVisible()

    return true
}
Run Code Online (Sandbox Code Playgroud)

然后在ViewController.swift:

class ViewController: UIViewController, AVAudioPlayerDelegate, UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        startFinishButton.setTitle("Begin", forState: .Normal)
        startFinishButton.addTarget(self, action: "moveToSecondViewController", forControlEvents: .TouchUpInside)
        view.addSubview <*> startFinishButton
    }

    func moveToSecondViewController(sender: UIButton) {
        let vc = SecondViewController()
        println(self.navigationController) // returns nil
        self.navigationController?.pushViewController(vc, …
Run Code Online (Sandbox Code Playgroud)

objective-c uinavigationcontroller ios appdelegate swift

26
推荐指数
2
解决办法
4万
查看次数

UITableView reloadSections/reloadData:标题视图变为空白

我有一个带有一些部分的UITableView,每个部分都有自己的标题视图.当用户点击某个部分的标题视图时,该部分的所有行都将折叠.我做的是,我将该部分的行数设置为0,然后调用:

[self.tableView reloadSections:sections withRowAnimation:UITableViewRowAnimationBottom];
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作,除了一件事:该部分的标题视图变为白色空白.当我滚动表格时,标题再次变为正常.

所以我猜这张桌子的绘图有些问题.

一个有趣的事情是,如果我使用UITableViewRowAnimationFade代替,那么即使我滚动表格,标题仍然是白色空白.

当我只更新一个部分也没有问题 - 当我更新多个部分时,问题就出现了.

如果我使用

[self.tableView reloadData]
Run Code Online (Sandbox Code Playgroud)

相反,那么一切正常.

我使用的原因

[self.tableView reloadSections:sections withRowAnimation:UITableViewRowAnimationBottom];
Run Code Online (Sandbox Code Playgroud)

是因为我想要动画.

使用beginUpdates/endupdates进行包装不起作用.

uitableview ios

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

应用提交失败 - 1+损坏的二进制文件/非公共API使用情况,没有其他详细信息

我一直在将我的应用程序提交到App Store进行测试飞行,在构建11之后,我通过Apple的电子邮件收到了失败:

非公共API使用:该应用包含一个或多个损坏的二进制文件.重建应用程序并重新提交

我没有得到他们的其他细节.没有方法名称或类或任何东西.

例如,我提交了构建版本15,它实际上是构建版本11的完全副本(经过了!),版本号为bump,构建版本15失败.

我相信这是一个Apple错误,虽然除了上面的段落之外我无法证明它.构建1-11工作正常,并能够上传和分发.

我正在使用Xcode 9.1和9.2,两者都给出了同样的错误.

我也通过DTS联系了Apple,他们说他们无法帮助我.

现在我该怎么做?

xcode itunesconnect ios

20
推荐指数
1
解决办法
1903
查看次数

如何在Rails中设置database.yml文件?

我正在做这个教程(http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/),在我开始之前是第4步设置database.yml文件.不确定那是什么意思.有人可以解释一下吗?

ruby database yaml ruby-on-rails

18
推荐指数
2
解决办法
10万
查看次数

在React + ES6中重置初始状态

我在ElementBuilder下面有一个类,当用户保存Element它们已构建时,我希望状态重置为下面的值.

我在这个班,我没有提供而是改变的状态的一些功能title,size以及color.

在ES 5中,我会getInitialState在我的类上有一个函数,可以调用this.getInitialState()函数.

这个元素存在于我的应用程序中,用于登录用户的生命周期,我希望默认值始终相同,无论过去的用法如何.

如何在不编写设置默认值对象的函数(或者可能是答案)的情况下实现此目的?谢谢!

class ElementBuilder extends Component {
    constructor(props) {
        super(props);

        this.state = {
            title: 'Testing,
            size: 100,
            color: '#4d96ce',
        };
    }

    resetBuilder() {
        this.setState({ this.getInitialState() });
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

修复"ruby安装缺少心理"错误?

我正在运行Ruby ruby​​ 1.9.3p125并且我不断收到此错误,这使我无法在Rails中进行任何类型的开发.

看来你的ruby安装缺少心理(对于YAML输出).要消除此警告,请安装libyaml并重新安装ruby.

我已经用Google搜索过,似乎只是尝试了一切,但似乎没有任何效果.我真的很想开始一些新的项目,但似乎无法克服这个障碍.

任何帮助是极大的赞赏!

ruby macos yaml ruby-on-rails psych

14
推荐指数
3
解决办法
1万
查看次数

警告:flattenChildren(...):遇到两个具有相同键的子项/子键必须是唯一的

昨天我加入react-router-dom了我的项目,现在当我离开并回到Sky导航中的元素时,它重新加载了天空,我得到了

警告:flattenChildren(...):遇到两个孩子用同一把钥匙,element-id-50.子键必须是唯一的; 当两个孩子共用一把钥匙时,只会使用第一个孩子.

(上面使用的数字50只是一个例子,每次使用不同的id时,它会抛出此错误~40次)

问题似乎源于我的sky.js文件:

componentWillMount() {
    this.props.dispatch(requestSkySetup());
    this.props.dispatch(requestAllElements());

    this.setState({loadedSky: true, loadedElements: true});
}
Run Code Online (Sandbox Code Playgroud)

因为每次我要去另一个屏幕时,这个组件都会卸载,然后在我回来时重新安装.

receiveSkySetup完成后,render在功能上sky.js产生了一堆的div称为SectorS和各Sector创建一些div的名为Slot秒.

然后在里面Slot.render我有:

return connectDropTarget(
            <div className={showOutline ? 'slot showOutline' : 'slot'} style={style} onClick={interactable ? this.handleClick : null}>
                {
                    elements
                        .map(e => (
                            <SkyElement
                                id={e.id}
                                key={`element-id-${e.id}`}
                                title={e.title}
                                size={150}
                                opacity={e.opacity}
                                glow={e.glow}
                                color={e.color}
                                sectorId={e.sectorId}
                                slotId={e.id}
                                dispatch={this.props.dispatch}
                                isDragging={false}
                                transformElement={false} />
                        ))
                }
            </div>
        );
Run Code Online (Sandbox Code Playgroud)

上面调用中的key元素 …

javascript reactjs electron redux react-redux

14
推荐指数
1
解决办法
864
查看次数

在TestFlight中单击"提交审阅"后,状态仍为"准备提交"

我正在为TestFlight beta审核提交我的第一个版本,在创建一个群组后,添加了4个团队成员添加我的版本,取消选中此框以表示我需要登录信息来测试应用,我点击"提交审核".

iTunes Connect顶部的状态仍为"准备提交".

我在这里做错了什么,或者是Apple的问题?所有适当的文档和测试信息也已填写.

谢谢


星期五晚上:

Apple终于承认存在问题:

https://developer.apple.com/system-status/

在此输入图像描述


星期六早上:

1 - 许多团队报告问题已在一夜之间解决.

2 - 但是FWIW状态板仍然表示存在问题.

itunesconnect ios testflight

14
推荐指数
1
解决办法
2264
查看次数

从Swift中获取CoreData中最新的项目

我是CoreData的新手,已经阅读了一些教程,但空手而归.大多数教程都集中在从CoreData获取以填充tableview,这不是我目前所做的.

这是我在CoreData中设置数据的方式.Double除了日期之外,所有类型都是NSDate

let appDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)

let managedObjectContext = appDelegate.managedObjectContext
let entityDescription = NSEntityDescription.entityForName("Meditation", inManagedObjectContext: managedObjectContext!)
let meditation = NSManagedObject(entity: entityDescription!, insertIntoManagedObjectContext: managedObjectContext!)

meditation.setValue(settings.minutes, forKey: "length")
meditation.setValue(settings.warmup, forKey: "warmup")
meditation.setValue(settings.cooldown, forKey: "cooldown")
meditation.setValue(NSDate(), forKey: "date")

// fetch stuff from CoreData
var request = NSFetchRequest(entityName: "Meditation")
var error:NSError? = nil
var results:NSArray = managedObjectContext!.executeFetchRequest(request, error: &error)!

for res in results {
    println(res)
}
Run Code Online (Sandbox Code Playgroud)

这里就是我想要做的就是结果,但我不能访问类的东西.minutes,.date等我知道我还不能正确得到最后一个项目或者,我只是想在打印出的属性首先是对象.

我非常喜欢如何获取最新的对象以及显示它的属性

谢谢!

core-data swift

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