当前位置: 首页 > 知识库问答 >
问题:

前端 - 灵异现象,jsx为什么传一个属性传不进去?

鲁向明
2023-09-16

核心代码如下,onlyDiscountFlag这个字段死活没传进去,试了一下改名字,叫onlyDiscount也不行,但是叫discountFlag却可以。这是什么意思?jsx不支持only开头的属性名称吗?

PS:检查过代码,整个文件没有其他地方用到onlyDiscountFlag,不存在修改值的情况,控制台还报错,提示没有传入onlyDiscountFlag这个属性。

            return (              <BillAddAndUpdate                ref="billAddAndUpdate"                key={this.$route.fullPath + row.id}                onlyDiscountFlag                discountInfoData={this.saveModel}              ></BillAddAndUpdate>            )
  props: {    // 表格分页使用的时候,支持外部传参    discountInfoData: {      type: Object,      default: () => {}    },    onlyDiscountFlag: {      type: Boolean,      default: false,      required:true    }  },

共有1个答案

拓拔弘厚
2023-09-16

根据您提供的信息,问题可能出现在以下几个方面:

  1. 属性名称不匹配:您提到,尝试将属性名称改为"onlyDiscount"或"discountFlag",但这些名称并不匹配您的代码中的"onlyDiscountFlag"属性。这可能导致JSX解析器无法正确识别该属性。请确保您在代码中使用的属性名称与您的组件中定义的属性名称匹配。
  2. 组件约束:根据您的描述,您的组件可能需要一些额外的约束,以允许属性名称为"onlyDiscountFlag"的传入。您可能需要在组件定义中添加类似以下的代码:
<BillAddAndUpdate  ref="billAddAndUpdate"  key={this.$route.fullPath + row.id}  onlyDiscountFlag={this.props.onlyDiscountFlag} // 注意此处是组件定义的传入,而不是在jsx中调用的调用方式  discountInfoData={this.saveModel}></BillAddAndUpdate>

这样,您在组件中定义了一个名为"onlyDiscountFlag"的属性,并且将它的值从父组件的props中传递给这个组件。在JSX调用时,不需要指定"onlyDiscountFlag"这个属性,因为它已经被传递了。

  1. 控制台错误提示:如果您在控制台看到"未传入onlyDiscountFlag这个属性"的错误提示,这可能是因为您的代码存在语法错误或其他问题,导致该属性未被正确设置。请仔细检查您的代码,确保没有任何语法错误或拼写错误。
 类似资料:
  • 问题内容: 我正在考虑我的应用程序的解决方案。这是一种情况:我有一个类,该类的方法将ObjectA作为输入参数并调用几个小方法,这些方法中的每个方法都需要ObjectA的某些部分(它们不重叠,即需求和,需求等等)。 …)现在的问题是:鉴于一般的良好代码实践和性能,将ObjectA传递给这些方法中的每一个方法更好,以便它们可以自己提取所需的值,还是仅传递它们的值更好?我的意思是: 要么 感谢您的任何

  • 问题内容: 经过一整天的研究和尝试,我终于放弃了 纯AJAX的 上传文件(ps:本文如何与JQuery异步上传文件?埋了我的最后希望) 我的问题可能没什么意义,但是我仍然想知道为什么ajax(或XMLHttpRequest)不能处理这个问题?为什么文件不能像真正的httprequest那样传输? 问题答案: 出于安全原因,JavaScript无法读取本地文件,因此我们无法使用AJAX发送数据。 但

  • 假设我们有一个名为的react组件,它非常聪明地在一行中显示了三个Arbityle react组件(甚至只是任意定义的dom元素)。 我们可以通过将react元素设置为状态元素并将它们作为属性传入来实现这一点,如下面的答案所建议的: 这恰恰适用于我想做的事情--我想知道的是--这是不是做事情的错误方式?有没有理由(如表现)不这样做事?

  • 界面 前端vue用了element plus,当文件数量改变的时候就this.fileList更新,确认上传的时候就form传输给后端。 后端flask,都没干什么,已经开了CORS 错误

  • 问题内容: 我有一个对象,其中包含多个通用键值道具,我想将它们传递给一些jsx。像这样: 我希望这可以作为传递单个道具的功能: 这可能吗? 问题答案: 这可能吗? 是的,为什么您认为不可能,但是发送方式不正确。 的含义是: 因此,如果您默认不指定任何值,它将采用。要传递对象,您需要这样编写: 更新: 如果您有一个对象,并且希望将所有属性作为单独的属性传递,则将其编写为:

  • CSS中什么是逻辑属性,什么是旧版属性? eg. 逻辑属性:marginBlockStart 旧版属性:marginTop