mirror of
https://github.com/mztlive/dx-admin-template.git
synced 2026-01-06 13:02:56 +00:00
fix style
This commit is contained in:
@@ -631,7 +631,6 @@
|
|||||||
.ui-card-header {
|
.ui-card-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.5rem;
|
|
||||||
padding: 1.5rem 1.5rem 0 1.5rem;
|
padding: 1.5rem 1.5rem 0 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1141,7 +1140,9 @@
|
|||||||
width: 1rem;
|
width: 1rem;
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
color: hsl(var(--muted-foreground));
|
color: hsl(var(--muted-foreground));
|
||||||
transition: transform 0.2s ease, color 0.2s ease;
|
transition:
|
||||||
|
transform 0.2s ease,
|
||||||
|
color 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-select-icon svg {
|
.ui-select-icon svg {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
use dioxus::prelude::*;
|
use dioxus::prelude::*;
|
||||||
|
use std::rc::Rc;
|
||||||
|
|
||||||
#[derive(Clone, PartialEq)]
|
#[derive(Clone, PartialEq)]
|
||||||
pub struct SelectOption {
|
pub struct SelectOption {
|
||||||
@@ -28,6 +29,17 @@ pub fn Select(
|
|||||||
let current = use_signal(move || selected.clone());
|
let current = use_signal(move || selected.clone());
|
||||||
let on_change_handler = on_change.clone();
|
let on_change_handler = on_change.clone();
|
||||||
let trigger_id = id.unwrap_or_default();
|
let trigger_id = id.unwrap_or_default();
|
||||||
|
let mut container_ref = use_signal(|| None as Option<Rc<MountedData>>);
|
||||||
|
|
||||||
|
use_effect(move || {
|
||||||
|
if open() {
|
||||||
|
if let Some(container) = container_ref.read().clone() {
|
||||||
|
spawn(async move {
|
||||||
|
_ = container.set_focus(true).await;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
let selected_value = current();
|
let selected_value = current();
|
||||||
let display_text = selected_value
|
let display_text = selected_value
|
||||||
@@ -44,8 +56,15 @@ pub fn Select(
|
|||||||
div {
|
div {
|
||||||
class: "ui-select",
|
class: "ui-select",
|
||||||
"data-disabled": disabled,
|
"data-disabled": disabled,
|
||||||
onclick: move |event| {
|
tabindex: "-1",
|
||||||
event.stop_propagation();
|
onmounted: move |event| {
|
||||||
|
container_ref.set(Some(event.data()));
|
||||||
|
},
|
||||||
|
onblur: {
|
||||||
|
let mut open_signal = open.clone();
|
||||||
|
move |_| {
|
||||||
|
open_signal.set(false);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
button {
|
button {
|
||||||
class: "ui-select-trigger",
|
class: "ui-select-trigger",
|
||||||
@@ -84,9 +103,6 @@ pub fn Select(
|
|||||||
if open() {
|
if open() {
|
||||||
div {
|
div {
|
||||||
class: "ui-select-content",
|
class: "ui-select-content",
|
||||||
onclick: move |event| {
|
|
||||||
event.stop_propagation();
|
|
||||||
},
|
|
||||||
div {
|
div {
|
||||||
class: "ui-select-list",
|
class: "ui-select-list",
|
||||||
for option in options.iter().cloned() {
|
for option in options.iter().cloned() {
|
||||||
@@ -104,10 +120,11 @@ pub fn Select(
|
|||||||
button {
|
button {
|
||||||
class: "ui-select-item",
|
class: "ui-select-item",
|
||||||
"data-state": if is_active { "active" } else { "inactive" },
|
"data-state": if is_active { "active" } else { "inactive" },
|
||||||
onclick: {
|
onmousedown: {
|
||||||
let value = value.clone();
|
let value = value.clone();
|
||||||
let handler = handler.clone();
|
let handler = handler.clone();
|
||||||
move |_| {
|
move |event| {
|
||||||
|
event.prevent_default();
|
||||||
current_signal.set(Some(value.clone()));
|
current_signal.set(Some(value.clone()));
|
||||||
if let Some(callback) = handler.clone() {
|
if let Some(callback) = handler.clone() {
|
||||||
callback.call(value.clone());
|
callback.call(value.clone());
|
||||||
|
|||||||
Reference in New Issue
Block a user