Skip to content

Commit 6f107df

Browse files
committed
fix: 修复border报错
1 parent aa8a405 commit 6f107df

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/style_propetries/border.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ impl ToExpr for Border {
143143
fn to_expr(&self) -> PropertyTuple {
144144
let prop_name = &self.id;
145145
let mut props: Vec<(String, Expr)> = vec![];
146+
if (self.width.is_none() || self.style.is_none() || self.color.is_none()) {
147+
return PropertyTuple::One(prop_name.to_owned(), generate_invalid_expr!());
148+
}
146149
match prop_name.as_str() {
147150
"border" => {
148151
vec!["borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"].iter().for_each(|item| {
@@ -187,6 +190,9 @@ impl ToExpr for Border {
187190
fn to_rn_expr(&self) -> PropertyTuple {
188191
let prop_name = &self.id;
189192
let mut props: Vec<Box<Expr>> = vec![];
193+
if (self.width.is_none() || self.style.is_none() || self.color.is_none()) {
194+
return PropertyTuple::One(prop_name.to_owned(), generate_invalid_expr!());
195+
}
190196
match prop_name.as_str() {
191197
"border" | "borderTop" => {
192198
props.push(Box::new(generate_expr_by_border_side_width!(self.width.clone().unwrap().top.unwrap(), Platform::ReactNative)));

src/style_propetries/marin_padding.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ impl MarginPadding {
3333

3434
impl ToExpr for MarginPadding {
3535
fn to_expr(&self) -> PropertyTuple {
36+
if (self.top.is_none() || self.right.is_none() || self.bottom.is_none() || self.left.is_none()) {
37+
return PropertyTuple::One(
38+
self.id.clone(),
39+
generate_invalid_expr!()
40+
)
41+
}
3642
// 判断self.id是否padding开头
3743
let is_padding = self.id.starts_with("padding");
3844
let key_name = if is_padding { "padding" } else { "margin" };
@@ -46,7 +52,12 @@ impl ToExpr for MarginPadding {
4652
}
4753

4854
fn to_rn_expr(&self) -> PropertyTuple {
49-
55+
if (self.top.is_none() || self.right.is_none() || self.bottom.is_none() || self.left.is_none()) {
56+
return PropertyTuple::One(
57+
self.id.clone(),
58+
generate_invalid_expr!()
59+
)
60+
}
5061
let margin_padding = vec![
5162
generate_expr_by_length_percentage_or_auto!(self.top.as_ref().unwrap(), Platform::ReactNative),
5263
generate_expr_by_length_percentage_or_auto!(self.right.as_ref().unwrap(), Platform::ReactNative),

0 commit comments

Comments
 (0)