对话框新页模式返回数据
场景描述
弹出列表页面选择数据后返回到主页面并自动映射数据
实现思路
使用对话框组件的新页模式打开列表页面和配置数据映射实现
实现步骤
一.实现对话框要打开的列表页面,列表页面的确定按钮通过okclose操作或方法返回数据集
如下“选择产品”列表页面的实现:
1.页面上放两个产品数据集,方便区分把其中一个的显示名称改为“选中的产品”,并把自动模式清空
2.页面中放滚动列表组件布局为要展现的布局样式,列表组件绑定“产品”这个数据集
为了方便选择在列表组件中放了一个复选框组件,在复选框组件的值变化事件中判断是选中的把数据放到“选中的产品”这数据集,是去掉选中的把数据从“选中的产品”数据集中移除,移除需要知道移除的行因此事件中把操作行的id做参数传递
事件的具体实现代码如下:
onCheckbox0Change = ({rowid}) => (event) => {
var selectData = this.comp("selectData");//获取“选中的产品”数据集
var dialogData = this.comp("dialogData");//获取“产品”数据集
if(event.detail){
selectData.newData();
var row = selectData.getCurrentRow();
var checkRow = dialogData.getCurrentRow();
Object.assign(row,checkRow);
}else{
selectData.remove(selectData.getRowByID(rowid));
}
}
3.确定按钮返回“选中的产品”这个数据集