图中标红的是公共组件,左边一个下拉框改变会出发一个事件,导致右边下拉框的数据源改变。
我保存好了之后,发现值传进去了,但是下拉框没有数据。
上代码
查询事件:
nodeIdChange () {
if (this.nodeId) {
TaskConfService.selectTaskConfig(this.nodeId).then(result => {
if (result.success) {
this.confData = result.content
}
// xx设置初始化
this.$store.commit('initTipSetList', this.confData.tipSetList)
this.copyConfData = this.__utils.cloneDeep(this.confData)
// 勾选的角色显示
result.content.relatedRoleList.forEach(item => {
if (this.selectedRoleId.indexOf(item.companyRoleId) === -1) {
this.selectedRoleId.push(item.companyRoleId)
}
})
// 显示条件和完成条件的转换
debugger
let a = bConvertCondition.convertConditionArrayToObj(result.content.preCondition)
console.log('a', a)
this.preCondition = bConvertCondition.convertConditionArrayToObj(result.content.preCondition)
this.finishCondition = bConvertCondition.convertConditionArrayToObj(result.content.finishCondition)
})
} else {
this.confData = this.getDefault()
}
},
组件调用:
<Form-item label="启动条件" size="small">
<!--{{preCondition}}-->
<condition-setting v-model="preCondition" :dataSources="preConditionDataSources" :type="preConditionType"
ref="startDataSources" :minLength="preConditionMinLength"/>
</Form-item>
<!--<form-style title="完成条件:">-->
<Form-item label="完成条件" size="small">
<!--{{finishCondition}}-->
<condition-setting v-model="finishCondition" :dataSources="finishConditionDataSources"
:type="finishConditionType"
ref="finishDataSources" :minLength="finishConditionMinLength"/>
</Form-item>
</Panel>
公共组件
<template>
<Form inline compact v-else ref="conditionSettingForm">
<div v-for="(item, index) in value">
<template>
<Row :gutter="24">
<i-Col span="10">
<Form-item size="small">
<Select size="small" filterable @on-change="fieldEnChange(index)" clearable
v-model="value[index].fieldId" style="width:200px">
<Option v-for="item in conditionData" :value="item.id" :key="item.id">
{{item.name}}
</Option>
</Select>
</Form-item>
</i-Col>
<i-Col span="10">
<Form-item>
<Select size="small" filterable v-model="value[index].fieldValueId" style="width:200px"
@on-change="fieldValueHandler(index)">
<Option v-for="item in fieldValues[index]" :value="item.id" :key="item.id">
{{item.name}}
</Option>
</Select>
</Form-item>
</i-Col>
<i-Col span="2">
<a v-if="showDelete" @click="deleteStartConditions(index)" class="dpib mt8">
Delete
</a>
</i-Col>
</Row>
</template>
</div>
<div style="margin-top: 8px">
<a @click="addStartConditions" v-if="value">
<Icon type="md-add"></Icon>
Add
</a>
</div>
</Form>
</template>
问题:我查询的时候,为什么值传入了,但是数据没有,下拉框1联动下拉框2,我查询不会触发1的onChange事件,怎么改变2的数据源?