Open a624012869 opened 3 years ago
后续会增加这个功能,临时解决方法如下:
selectTable
表单的html
中有个url
,你可以通过监听select
组件的变化更改这个url
的值来达到更改数据源的目的。
不知道怎樣實現, 已添加了select的聯動, 但不知道要怎樣更改url
已測試過更改select裡面template的data-url, 沒效果
`
var templateHtml = $($('template')[0]).html();
var template = $(templateHtml);
var content = template.closest('.dialog-table').find("div");
var link = $(content[1]).attr('data-url');
$(content[1]).attr('data-url',link+'&co='+this.value); `
刚好碰到同样的需求,查了下版本迭代记录,此功能还没发版或者自己没找到 : )。按照老大的思路试着写了下。希望可以有所帮助。( js 写的不是很好)
先说下我的场景吧,我是在form表单新增的时候,hasMany 里面做select 和 selectTable 的联动效果。 遇到的坑:https://zhuanlan.zhihu.com/p/340015952
关键代码
// hasMany 计算当前是新增的第几个元素 var tableIndex = $(this).closest('.fields-group').siblings().length + 1 if (String(this.value) !== '0' && ! this.value) { return; }
let tmpTemplateClass = 'select-plus-' + tableIndex
$(".$setBatchProductClass").siblings('div').find('span template:first').css('color', 'red').addClass(tmpTemplateClass);
const template = document.querySelector("." + tmpTemplateClass);
const currentSelectTableUrl = template.content.querySelector('div div.async-table').getAttribute('data-url');
// 当前弹出的表单链接拼接 link+'&pid='+this.value
currentSelectTableUrlNew = currentSelectTableUrl + '&pid='+this.value;
template.content.querySelector('div div.async-table').setAttribute('data-url', currentSelectTableUrlNew)
这个目前还是需要自己实现吗?》
Description:
想通过其他select组件选择后的值来过滤selectTable数据源,这个怎么能实现?
Steps To Reproduce: