问题描述
在带有 add_filter( 'woocommerce_available_payment_gateways','o912_payment_gateway_disable_country' );
function o912_payment_gateway_disable_country( $available_gateways ) {
if ( is_admin() ) return $available_gateways;
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if ( WC()->customer->get_billing_state() != 'LMA' && WC()->customer->get_billing_state() != 'CAL' ) {
unset( $available_gateways['bacs'] );
unset( $available_gateways['cod'] );
} else if ( $chosen_shipping == 'SD' || $chosen_shipping == 'ND' || $chosen_shipping == '99Min') {
//99Min is new Custom Shipping
unset( $available_gateways['bacs'] );
unset( $available_gateways['cod'] );
}
return $available_gateways;
}
的 ForEach
中使用 TabView
时,这是一个非常具体的问题修饰符。
每次我在数组的开头插入一个元素时,我的应用都会崩溃。
我收到了
尝试从更新前仅包含 11 个项目的第 0 部分中删除项目 11
错误。
在画布中它也会崩溃。
最后的常规附加工作正常,当我删除 PageTabViewStyle 修饰符时也能正常工作。
如果我需要详细说明或有任何问题,请告诉我。
更新:我似乎在 iOS 15 中已修复此问题并且我的代码有效。我仍然希望找到适用于 iOS 14 的解决方法。
我用一个简单的单页应用重现了这个问题:
PageTabViewStyle
解决方法
这是针对 Xcode 12.5 / iOS 14.5 的测试解决方法。
TabView {
ForEach(myArray,id: \.self) { value in
Text("\(value)")
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
.id(myArray.count) // << here !!