基于GeoServer动态修改Wms图层数据无效

问题背景:
需求:openlayer+geoserver实现wms图层渲染到页面,并根据图层数据属性动态改变图层样式

方案:最初的方案是wfs一次性将图层feature以geojson方式一次性加载进来,后续点击以及图层样式改变全部基于feature操作,基于数据操作点击和改变样式速度较快,但是初始化页面一次性加载18M数据会导致页面初始化耗时3-4s,为了优化页面开始通过wms加载数据,初始化页面有明显提升
问题:通过wms加载数据后,通过改变SLD_BODY 参数图层样式改变无效,geoserver 版本:2.21.0
代码:
1.在图层初始化的时候指定sold_body 没有效果

   const b = '<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"><NamedLayer><Name>main_roadName><UserStyle><Name>subroadName><Title>subroadTitle><Abstract>roadTypeAbstract><FeatureTypeStyle><Rule><Title>3232Title><PolygonSymbolizer><Stroke><CssParameter name="stroke">#ebcc0cCssParameter><CssParameter name="stroke-width">3CssParameter>Stroke>PolygonSymbolizer>Rule>FeatureTypeStyle>UserStyle>NamedLayer>StyledLayerDescriptor>';
      //通过wms加载数据
      const wmsSource = new TileWMS({
        url: 'http://localhost:8080/geoserver/wms',
        projection: 'EPSG:3857',
        params: {
          'LAYERS': 'Test:Road_lines',
          'VERSION': '1.1.0',
          'sld_body': b
        },
        serverType: 'geoserver',
        transition: 0,



      });


2.在图层加载后,动态修改sold_body也没有效果


 //通过wms加载数据
      const wmsSource = new TileWMS({
        url: 'http://localhost:8080/geoserver/wms',
        projection: 'EPSG:3857',
        params: {
          'LAYERS': 'Test:Road_lines',
          'VERSION': '1.1.0',
        },
        serverType: 'geoserver',
        transition: 0,
      });

      vectorLayer = new TileLayer({
        source: wmsSource
      });
      var sld = '<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"><NamedLayer><Name>roadTypeName><UserStyle><Name>roadTypeName><Title>roadTypeTitle><Abstract>roadTypeAbstract><FeatureTypeStyle><Rule><Title>快速路Title><ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>LAYERogc:PropertyName><ogc:Literal>主干路ogc:Literal>ogc:PropertyIsEqualTo>ogc:Filter><PolygonSymbolizer><Stroke><CssParameter name="stroke">#b1db16CssParameter><CssParameter name="stroke-width">3CssParameter>Stroke>PolygonSymbolizer>Rule>FeatureTypeStyle>UserStyle>NamedLayer>StyledLayerDescriptor>';
      var encodeSild = encodeURI(sld);
      vectorLayer.getSource().updateParams({ 'STYLES': undefined, 'SLD_BODY': encodeSild });