How to remove black background when using merge bufferGeometry and depthWrite = true

in order to reduce drawcall, I use BufferGeometry to render a large number of texture(transparent: true). like this

when I set material.depthWrite = false;
I found some textures that should have been in the back is displayed in the front
so I set depthWrite = true.
then, these textures are displayed in the correct order. however, every texture have a black background which should be transparent。

I try to modify the official example #webgl_interactive_buffergeometry,the bug still appear——the black background
how to fix this bug