在事件中根据字段动态设置opacity时无效或报错
tsuyoii opened this issue · comments
问题描述
在事件中根据字段动态设置opacity时无效或报错
代码:
gw_layer.on('click', (e: any) => {
scene?.getLayerByName('分组')?.style({
opacity: {
field: 'type',
value: (type: any) => {
return type === 'a' ? 0.1 : 1;
}
}
});
})
效果:无效
另一种写法:
代码:
gw_layer.on('click', (e: any) => {
scene?.getLayerByName('分组')?.style({
opacity: {
field: 'type',
value: [0, 0.3, 1]
}
});
})
效果:第一次点击无反应,第二次点击后报错
重现链接
No response
重现步骤
No response
预期行为
No response
平台
- 操作系统: [macOS, Windows, Linux, React Native ...]
- 网页浏览器: [Google Chrome, Safari, Firefox]
屏幕截图或视频(可选)
![WeChat8d863f4fe6b7adbb6fbcbb993d6f7abe](https://private-user-images.githubusercontent.com/49632080/324728781-dce7a046-9005-4196-98f5-c0fd27690af9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTM5NzcwNDUsIm5iZiI6MTcxMzk3Njc0NSwicGF0aCI6Ii80OTYzMjA4MC8zMjQ3Mjg3ODEtZGNlN2EwNDYtOTAwNS00MTk2LTk4ZjUtYzBmZDI3NjkwYWY5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDI0VDE2MzkwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVlODcxNWY4MTExMTJjMWJiYjdjZDMxMTNlNzE4ZmQ1Mzc3OWRmMWI3NGY0ZWEzMGY0MTUzNzA5ZjBlNTIzYWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.1pg8T-QK6Qj7SFOA6YSIx8ijgtF-xFBY07t6DUFpUCo)
补充说明(可选)
No response
codesanbox 复现一下~
https://l7.antv.antgroup.com/zh/examples/polygon/3d/#polygon_stylemap 可以参照这个demo
在scene.on('loaded', () => {})中可以生效,但是当我放到事件中(例如这里的click事件里)就不生效了
初始化的会判断是 Opacity 是数据映射还是常量,开始没有设置 opacity ,初始化haul的任务是常量。
初始化时可以这样写
.style({
opacity: {
field: 'unit_price',
value: 1,
},
})
初始化的会判断是 Opacity 是数据映射还是常量,开始没有设置 opacity ,初始化haul的任务是常量。
初始化时可以这样写
.style({ opacity: { field: 'unit_price', value: 1, }, })
成功啦,感谢大佬