宜搭表格下单元格添加点击事件
- 场景宜搭单元格上没有点击事件,需要点击行,将这一行的某个字段带入到关联表单上进行赋值
- 点击单元格是关联表单没有点击事件,所以特意要给每行加点击事件,为了拿到这一行上的数据
-
表单 1
-
页面 JS
/**
* TableField onChange
*/
export function onChangeTable({ value, extra }) {
const { formGroupId } = extra || {};if (formGroupId) {
this.getTableData();
}else {
setTimeout(() => {
this.getTableData();
}, 500);
}}
// 获取表格数据,给部件选配加点击事件
export function getTableData() {
// 获取表格
var table = document.querySelector('.table-field-layout-table');
// 获取表格中的所有行
var rows = table.querySelectorAll('.table-field-table-row');for (var i = 0; i < rows.length; i++) {
const tmpIndex = i;
var cells = rows[i].querySelectorAll('.table-field-table-cell'); // 获取当前行的所有单元格
for (var j = 0; j < cells.length; j++) {
if (cells[j].querySelectorAll('.associationFormField_m053cs4m')) { // 检查单元格是否有类名 'xxx'
cells[j].addEventListener('click', () => {
// 这里编写点击事件的处理函数
let data = this.$('tableField_m053cs3l').getValue();
if (data[tmpIndex].textField_m053cs4l) {
window.componentObj = {
name: data[tmpIndex].textField_m053cs4l
}
} else {
window.componentObj = {
name: ""
}
}
});
}
}
}}
-
关联表单 2
-
页面 JS
// 当页面渲染完毕后马上调用下面的函数,这个函数是在当前页面 - 设置 - 生命周期 - 页面加载完成时中被关联的。
export function didMount() {
console.log(「页面 JS」:当前页面地址 ${location.href});
// 拿到名称进行赋值
if (window.componentObj) {
let tmpValue = window.componentObj.name;
this.$('selectField_lpzh3j3y').setValue(tmpValue);
}
// console.log(「页面 JS」:当前页面 id 参数为 ${this.state.urlParams.id});
// 更多 this 相关 API 请参考:https://www.yuque.com/yida/support/ocmxyv#OCEXd
// document.title = window.loginUser.userName + ' | 宜搭';}

浙公网安备 33010602011771号