reactjs - 创建新的 Stock List Item 不会打开 Materialise Modal,但初始状态项目有效
问题描述
这是我在 Stack Overflow 上的第一篇文章。很高兴成为社区的一员!
我正在创建一个股票市场应用程序项目。我遇到了一个有趣的问题。我在我的项目中通过 Bootstrap 使用 Materialize。我正在用 React 编码。在我的初始状态下,我有 2 支股票,Apple 和 FaceBook。每当我单击它们时,都会打开模式,每个模式都会显示更多股票信息。但是每当我添加新股票(如 JPM)时,该项目就会出现,但每当我点击时,它就不会打开。
在物化中,您使用 jquery 初始化模式,如下所示(index.html)。然后你像我一样在每个项目上进行 href 和 ID 匹配。我检查了为摩根大通创建的新产品,它说 href="#JPM" 和 id="JPM" 就像其他工作一样。我唯一能想到的是,也许每当 jquery 初始化时,当我添加一个项目时,它也没有被初始化?但我不确定,因为它只是一行简单的代码:
$('.modal').modal();
Def在这里很困惑。github存储库如下。我还将发布我的 StockItem.js 文件的一些屏幕截图。https://github.com/Christopher-Bowling/Stock-Market-App
解决方案
每次创建需要初始化的新元素时,都需要运行组件初始化。
当你运行 $('.modal').modal() 时,jQuery 会查找 dom 中的任何元素并在其上运行 .modal() 函数 - 一次。任何动态添加的元素(在此初始值运行后添加)将表现得好像您根本没有运行过初始化。在选择文档页面上涉及到它:
初始化
此外,您需要单独调用页面生成的任何动态生成的选择元素。您必须初始化选择元素,如下所示。
推荐阅读
- java - 使用 appium 运行我的测试脚本时出现 SecurtyException
- python - 如何从字典中的值中获取 key_name?
- r - 重新发布图书时关闭更新提示
- android - 如何在laravel 5.7中使用retrofit send to api从android创建护照令牌,还有比护照更好的选择来进行身份验证
- tensorflow - TensorBoard 上(正确的)ANN 偏差和权重是什么样的?
- javascript - React Native Firebase:从firebase读取数据时出错
- javascript - How can I set value to componentDidMount from another function in React?
- c - 从 C 中获取 *ABS* 符号的值
- codenameone - 代号一透支
- c# - C# - 当使用out关键字传递引用类型时,调用函数代码可以控制外部对象吗?