详细解释这段代码:queryMultipleSelection(data, type) { let statusArr = []; if (this.props.historyData && this.props.historyData.form == "OrderBoard") { statusArr = this.props.historyData.queryContent.Reserve_Inventory_Status; } else { } const treeData = [...data]; const tProps = { treeData, value: this.state[type], defaultValue: this.state[type + "Availabled"] || [], onChange: "", maxTagCount: 1, treeCheckable: true, getPopupContainer: (triggerNode) => triggerNode.parentNode.parentNode, filterTreeNode: (inputValue, treeNode) => { if (treeNode && inputValue) { return treeNode.title.toLowerCase().indexOf(inputValue.toLowerCase()) >= 0; } return false; }, treeDefaultExpandAll: true, showCheckedStrategy: SHOW_PARENT, placeholder: intl.get("common.请选择"), size: "middle", className: "common-tree-select", }; // tProps.searchValue = ''; tProps.onChange = (value, label, extra) => { this.setState({ [type]: value }); }; return <TreeSelect {...tProps} />; }
时间: 2024-04-19 14:27:04 浏览: 156
Vue中的this.$options.data()和this.$data用法说明
这段代码是一个函数`queryMultipleSelection`,它接收两个参数`data`和`type`。该函数的作用是返回一个TreeSelect组件,并根据传入的参数进行配置和处理。
首先,定义一个空数组`statusArr`。然后,通过条件判断,检查是否存在`this.props.historyData`且`this.props.historyData.form`等于"OrderBoard"。如果条件成立,将`this.props.historyData.queryContent.Reserve_Inventory_Status`赋值给`statusArr`。
接下来,创建一个新数组`treeData`,它是参数`data`的一个副本。然后,定义一个名为`tProps`的对象,其中包含了一些属性和方法,用于配置TreeSelect组件的行为和样式。这些属性和方法包括:
- `treeData`: 设置TreeSelect组件的数据源为参数`data`。
- `value`: 设置TreeSelect组件的当前选中值为当前组件状态中的`type`属性值。
- `defaultValue`: 设置TreeSelect组件的默认选中值为当前组件状态中的`type + "Availabled"`属性值,如果不存在则为空数组。
- `onChange`: 设置TreeSelect组件的选中值改变时的回调函数为空字符串。
- `maxTagCount`: 设置TreeSelect组件多选时最多显示的标签数量为1。
- `treeCheckable`: 设置TreeSelect组件可选中多个节点。
- `getPopupContainer`: 设置TreeSelect组件的弹出层容器为触发节点的父节点的父节点。
- `filterTreeNode`: 设置TreeSelect组件的节点过滤函数,根据输入的值和节点的标题进行过滤,返回匹配的节点。
- `treeDefaultExpandAll`: 设置TreeSelect组件默认展开所有节点。
- `showCheckedStrategy`: 设置TreeSelect组件的选中策略为父子节点都选中时才显示选中状态。
- `placeholder`: 设置TreeSelect组件的占位符文本为"common.请选择",可能是从国际化资源中获取。
- `size`: 设置TreeSelect组件的尺寸为"middle"。
- `className`: 设置TreeSelect组件的样式类名为"common-tree-select"。
然后,将`tProps.onChange`定义为一个函数,该函数会在TreeSelect组件的选中值改变时触发,更新当前组件的状态,将`type`作为属性名,`value`作为属性值进行更新。
最后,返回一个使用`tProps`作为属性配置的TreeSelect组件。
整体来说,这段代码根据传入的数据和类型,配置了一个带有树状结构的下拉选择框(TreeSelect组件),并根据当前组件状态和传入的参数进行初始化和处理。
阅读全文