rsx_syntax.rs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. use dioxus::prelude::*;
  2. use dioxus_core::{Attribute, TemplateAttribute};
  3. fn basic_syntax_is_a_template(cx: Scope) -> Element {
  4. let asd = 123;
  5. let g = rsx! {
  6. div {
  7. class: "asd",
  8. // class: "{asd}",
  9. // onclick: move |_| {},
  10. // div { "{var}" }
  11. }
  12. };
  13. let __cx = NodeFactory::new(&cx);
  14. static attrs: &'static [TemplateAttribute<'static>] =
  15. &[::dioxus::core::TemplateAttribute::Static(
  16. ::dioxus::core::Attribute {
  17. name: "class",
  18. namespace: None,
  19. volatile: false,
  20. mounted_node: Default::default(),
  21. value: ::dioxus::core::AttributeValue::Text("asd"),
  22. },
  23. )];
  24. __cx . template_ref (
  25. || :: dioxus :: core :: Template {
  26. id : "packages/dioxus/tests/rsx_syntax.rs:7:13:/Users/jonkelley/Development/dioxus/packages/dioxus" ,
  27. roots : &[
  28. :: dioxus :: core :: TemplateNode :: Element {
  29. tag : dioxus_elements :: div :: TAG_NAME ,
  30. attrs : attrs,
  31. children : & [] ,
  32. }] ,
  33. } ,
  34. __cx . bump () . alloc ([]) , __cx . bump () . alloc ([]) , __cx . bump () . alloc ([]) ,
  35. None
  36. );
  37. // let static_attr = ::dioxus::core::TemplateAttribute::Static(::dioxus::core::Attribute {
  38. // name: "class",
  39. // namespace: None,
  40. // volatile: false,
  41. // mounted_node: Default::default(),
  42. // value: ::dioxus::core::AttributeValue::Text("asd"),
  43. // });
  44. // __cx . template_ref (|| :: dioxus :: core :: Template { id : "packages/dioxus/tests/rsx_syntax.rs:7:13:/Users/jonkelley/Development/dioxus/packages/dioxus" , roots : & [:: dioxus :: core :: TemplateNode :: Element { tag : dioxus_elements :: div :: TAG_NAME , attrs : & [static_attr , :: dioxus :: core :: TemplateAttribute :: Dynamic (0usize)] , children : & [] , }] , } , __cx . bump () . alloc ([]) , __cx . bump () . alloc ([__cx . attr (dioxus_elements :: div :: class . 0 , :: core :: fmt :: Arguments :: new_v1 (& [""] , & [:: core :: fmt :: ArgumentV1 :: new_display (& asd)]) , None , false)]) , __cx . bump () . alloc ([]) , None);
  45. cx.render(g)
  46. // let __cx = NodeFactory::new(&cx);
  47. // let t = __cx.template_ref (
  48. // || :: dioxus :: core :: Template {
  49. // id : "packages/dioxus/tests/rsx_syntax.rs:8:13:/Users/jonkelley/Development/dioxus/packages/dioxus" ,
  50. // roots : & [
  51. // :: dioxus :: core :: TemplateNode :: Element {
  52. // tag : dioxus_elements :: div :: TAG_NAME ,
  53. // attrs : & [:: dioxus :: core :: TemplateAttribute :: Dynamic (0usize)] ,
  54. // children : & [] ,
  55. // }
  56. // ],
  57. // },
  58. // &[] ,
  59. // {
  60. // let mut arr = dioxus_core::exports::bumpalo::vec![in __cx.bump()];
  61. // arr.push(Attribute {
  62. // name: "asd",
  63. // namespace: None,
  64. // volatile: false,
  65. // mounted_node: Default::default(),
  66. // value: dioxus_core::AttributeValue::Text(
  67. // __cx.raw_text(format_args!("{asd}")).0
  68. // ),
  69. // });
  70. // arr.into_bump_slice() as &[::dioxus::core::Attribute]
  71. // },
  72. // & [] ,
  73. // None
  74. // );
  75. // Some(t)
  76. }